if文でよく使う命令文。返り値trueとfalseで条件分岐
if文でよく使う命令文。
以下の記述は基本だし、よく使うので覚えておこう。
流れだけでいうとこんな感じ・・・↓
条件分岐、ifの(返り値)にtrueとfalseを与え、
trueならば命令Aを実行。
falseならば命令Bを実行。
これをonクリックイベントと組み合わせると、
クリックしたら、クラスを追加したり、それをanimateさせたりと
いろい便利。
以下は
ヘッダーのハンバーガーメニューボタンの動きの場合の例。
ハンバーガーをクリックすると、メニューが現れる、的なやつ。
たとえば
.hamburger-btnのボタンがあるとして・・・
.header_nav_dropdownのメニューがあるとして(display:hiddenしてある)
<script> $(document).ready(function(){ var flag = false; //あらかじめfalseをわたしておく $(".hamburger-btn”).on("click",function(){ if (!flag) { //条件、flagがtrueでなければ・・・つまりfalseならば // メニューを表示させる $(".header_nav_dropdown").fadeIn(function() { flag = true; //fadeInを実行したら、flagにtrueをわたしておく。すると、次、ボタン押すとtrueの場合の処理となる }); } else { //その他場合、つまりtrueならば // メニューを非表示にする $(".header_nav_dropdown").fadeOut(function() { flag = false; //fadeOutを実行したら、flagにfalseをわたしておく。すると、次、ボタン押すとfalseの場合の処理となる }); } }); }); </script>
スマホ対応で、メニュー表示の時、スクロールできないようにした時とか、重宝する。
<script> $(document).ready(function(){ var flag = false; $(“.sp_hamburger-btn").on("click",function(){ if (!flag) { // スクロール禁止の命令 $(window).on('touchmove.noScroll', function(e) { e.preventDefault(); }); // メニューを表示 $(".sp_header_nav_dropdown").fadeIn(function() { flag = true; }); } else { // スクロール禁止の命令解除 $(window).off('.noScroll'); // メニューを非表示 $(".sp_header_nav_dropdown").fadeOut(function() { flag = false; }); } }); }); </script>