2013-08-18 33 views
0

我有这样的代码你选择一个jQuery动画前多远滚动激活

$(window).load(function() { 
      $elem1 = $('#div1'); 
      $elem2 = $('#div2'); 
      var scrollState = 'top'; 
      $(window).scroll(function() { 
       var scrollPos = $(window).scrollTop(); 
       if ((scrollPos != 0) && (scrollState === 'top')) { 
        $elem1.stop().animate({ 
         opacity: '1.0' 
        }, 300); 
        $elem2.stop().animate({ 
         marginLeft: '50px' 
        }, 300); 
        scrollState = 'scrolled'; 
       } else if ((scrollPos === 0) && (scrollState === 'scrolled')) { 
        $elem1.stop().animate({ 
         opacity: '0.0' 
        }, 300); 
        $elem2.stop().animate({ 
         marginLeft: '0px' 
        }, 300); 
        scrollState = 'top'; 
       } 
      }); 
}); //]]> 

当我为你开始滚动向下滚动的jQuery尽快激活页面。我希望能够在激活之前选择页面的距离。

回答

0

你不能只检查一下scrollPos的值吗?

if(scrollPos > X && (scrollState === 'top')) { 
    //activate 
} else { 
    //do nothing 
} 
+0

你们工作。谢谢 – Dave

+0

需要其他东西吗?如果这就是你需要的一切,你可以把这个标记为正确的答案吗? – klamoree

+0

如果((scrollPos> = 500)&&(scrollState ==='top')){ //激活 scrollState ='scrolled',则必须使用大于或小于符号。 ((scrollPos <500)&&(scrollState ==='scrolled')){ //什么都不做 } – Dave

0

您可以使用$(document).scrollTop()docs)找出滚动的距离。