2016-05-23 15 views
0

jqueryの世界に新しいことは、条件文を一緒にグループ化するにはどうすればいいですか?その場合は条件文を使用してください。 基本的に同じことを行う5つの異なる機能を使わずに、この機能を一度に実行しようとしています。条件が複数の場合

マイコード:

jQuery(document).ready(function($) { 
    var menu = $('#site-nav'); 
    var origOffsetY = menu.offset().top; 
    var locateHobby = $('#load-hobby'); 
    var hobbyLocateOrigOffsetY = locateHobby.offset().top; 
    var locateForm = $('#load-form'); 
    var formLocateOrigOffsetY = locateForm.offset().top; 
    function scroll() { 
     if ($(document).scrollTop() >= origOffsetY) && $(document.scrollTop() >= hobbyLocateOrigOffsetY) && $(document).scrollTop() >= formLocateOrigOffsetY)) { 

      $('#site-nav').addClass('navbar-fixed-top'); 
      $('.main-content').addClass('menu-padding'); 

      setTimeout(function() { 
       $('#hob-slide').addClass('animated slideInLeft'); 
      }, 200); 

      setTimeout(function() { 
       $('.wpcf7-form').addClass('animated slideInUp'); 
      }, 200); 

     } else { 
      $('#site-nav').removeClass('navbar-fixed-top'); 
      $('.main-content').removeClass('menu-padding'); 
     } 
    } 
}); //End no conflict 
+0

私はあなたがこのようにjqueryできることを知りませんでした。何らかの理由で、常に変数を作成して、常に関数を作成しなければならないと思っていました。私は合法的に同じことをしている5-6の機能を持っていた(スクロールを待っている)。そして、はい、変数は手を抜けていた。また、コード内の最初のif文の ")"はどこにありますか?これも私を得たものの1つでした。しかし、偉大な応答tho! :-) @WilliamGates – carlcreative

+0

))が最後の.topで発生します。メモ帳++のようなエディタを使用すると、中かっこを開く/閉じることが表示されます。 –

答えて

0

あなたが簡素化しようとしているものを明確にする必要がある場合があります。私はあなたが変数の束を作成する必要なくifステートメントを実行したいと思っています。そのような場合は、コードを簡略化することができます:

$(document).ready(function() { 
    function scroll() { 
     if ($(document).scrollTop() >= $('#site-nav').offset().top && 
      $(document).scrollTop() >= $('#load-hobby').offset().top && 
      $(document).scrollTop() >= $('#load-form').offset().top) { 

      $('#site-nav').addClass('navbar-fixed-top'); 
      $('.main-content').addClass('menu-padding'); 

      setTimeout(function() { 
      $('#hob-slide').addClass('animated slideInLeft'); 
      }, 200); 

      setTimeout(function() { 
      $('.wpcf7-form').addClass('animated slideInUp'); 
      }, 200); 

     } else { 
      $('#site-nav').removeClass('navbar-fixed-top'); 
      $('.main-content').removeClass('menu-padding'); 
     } 
    } 
}); //End no conflict 
+0

OPから明確にし、答えてください。 –

+0

大丈夫です。私はこれがうまくいくと思う...だから、私はちょうど最高の文章を追加し続け、次に実際の行動を下すことができるだろうか?あなたが何をしたかのように見えます。 – carlcreative

+0

また、文書や窓口でこれを呼び出すのが最善でしょうか?私は両方聞いたことがありますが、ベストプラクティスのようにしたいです。 – carlcreative

関連する問題