2014-10-09 54 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