jqueryで高さの数値をとって足し算をしていたらエラーも出ずに動かないということになったので調べてみました。 ワードプレスで管理画面のアドミンバーが一度ログインするとフロント画面でも表示されるのでその高さを取得します。 それから固定ヘッダーの高さも取得してその高さを計算します。
let adminBar_height = $('#wpadminbar').height();
let navBar_height = $('.navbar').height();
const sum = adminBar_height + navBar_height;
console.log(sum); // undefined;
この式でアドミンバーが必ずあるわけじゃないのでundefinedになることに気がつきませんでした。。
let adminBar_height = $('#wpadminbar').height();
let navBar_height = $('.navbar').height();
if(!adminBar_height){
adminBar_height = 0;
}
const sum = adminBar_height + navBar_height;
console.log(sum); // 数値が入る
上記の場合は値がとれないとadminBar_heightにはundefinedが入ります。 !adminBar_heightでいける模様。。。 falseなら値が0が入ります。アドミンバーの取得はこれでログインしているときはその高さを取得してそれ以外は0になります。 これでうまく足し算が出来ました。
ぱっと思いついたのはこの方法です。
var x;
if (x === undefined) {
// ここの文は実行される
console.log(x);
}
else {
// ここの文は実行されない
console.log(x);
}
上記の場合はxには値が入っていないのでここの文は実行されるを通ります。 var x;がなければReferenceError が発生します。(Uncaught ReferenceError: x is not defined) 等価演算子の場合は(x == undefined)、 xがnullであるかどうかもチェックします。
typeofの場合は変数が宣言されていなくてもエラーにはなりません。
if (typeof x === 'undefined') { // エラーなしで true と評価される
// ここの文は実行される
}
if ('x' in window) {
// x がグローバルに定義されている場合のみ、ここの文を実行
}
グローバルスコープで確認することも出来ます。
一般的に “void(0)” と書かれます(これは “void 0” と等価です) “void(0)”は、常に undefined を返してくれるとても便利な演算子です。
var x;
if (x === void 0) {
// ここの文は実行される
}
// 直前まで y は宣言されていない
if (y === void 0) {
// ReferenceError: y is not defined が発生
}
上記3パターンで確認することが出来ます。 (typeof x === ‘undefined’)なんとなくtypeofが良いかもと思いました。
参考になれば幸いです。
∞Tadashi Suyama∞
あまりcgiは使いたくないのですが使わざるを得ない時があります。仕方なく設置するのですがエラーが出ちゃうんです。なんか知らないけど。 ありがちなのがパーミッションとかパスが問題になるんのですけど...
19 Feb 2022
今回はワードプレス専用のアドレス変更方法をご紹介します。ワードプレスのアドレスはwordpress@~という形で送られてきますが変更可能です。 functions.phpに記載するのですがプラグ...
12 Feb 2022
Sassの遷移は多すぎる今日この頃 Ruby Sass→LibSass→DartSass(いまここ) Ruby SassはSassの最初の実装でしたが、2019年3月26日にサポートが終了しま...
22 Jan 2022
明けましておめでとうございます。 本年も何卒よろしくお願いいたします。 年末年始は雪でしたね、そこまで積もっていませんが。 {% include adsensearticle.html...
10 Jan 2022
最近はjQueryよりvueで書いた方が楽ではないかと思い学習中です。 そもそもVuejsはドキュメントが日本語対応なので試しやすいし情報も豊富なので学習しやすいです。 3大フレームワークと呼...
02 May 2021
ウェブエンジニアの須山のブログです。
WEBに関することや個人的に関心のあることについて書きます。主に技術系ブログです。