2014-10-09 67 views
0

如何優化下面的jquery?我知道我們可以結合2條件,但不確定確切的語法。jQuery優化 - 結合兩個條件?

$(window).scroll(function() { 
      if ($('sbar-bottom-w').isOnScreen() != false || $('sbar-top-w').isOnScreen()!=false) { 
       if($('sbar-top-w').offset().top-$(window).scrollTop()<45){ 
        $('#article-share').show(); 
       }else{ 
        $('#article-share').hide(); 
       } 
      } else { 
       $('#article-share').show(); 
      } 

回答

1

試試這個

$(window).scroll(function() { 
    if (($('sbar-bottom-w').isOnScreen() == false && 
     $('sbar-top-w').isOnScreen() == false) || 
     $('sbar-top-w').offset().top-$(window).scrollTop() >= 45) 
      $('#article-share').hide(); 
     else 
      $('#article-share').show(); 
// .... 
}); 

要完全符合您的條件||後應該有幾個條件,但是從jQuery的的知識,我覺得這就夠了。如果不是那麼

$(window).scroll(function() { 
    if (($('sbar-bottom-w').isOnScreen() == false && 
     $('sbar-top-w').isOnScreen() == false) || 
     ($('sbar-top-w').offset().top-$(window).scrollTop() >= 45 && 
     ($('sbar-bottom-w').isOnScreen() != false || 
      $('sbar-top-w').isOnScreen() != false))) 
      $('#article-share').hide(); 
     else 
      $('#article-share').show(); 
// .... 
}); 
+0

這是絕對正確的,但你不覺得它以前的方式是更好的嗎?我的意思是我從來沒有使用這種方式結合兩個if語句 – 2014-10-09 17:42:54

+1

@AminJafari現在TS有東西比較,並決定什麼更好)) – Cheery 2014-10-09 17:44:03

+0

謝謝,它的工作原理。 – tv4free 2014-10-09 18:35:29