这是我的代码 http://jsfiddle.net/mihaene/7bdkB/
当我向下滚动一定数量的像素时,我想要一个div滑入。 它工作,但非常非常延迟(如5秒)。 问题是什么?
非常感谢任何建议。
答案 0 :(得分:2)
嗨,我认为问题是你的其他阻止。然后jQuery启动动画需要大约300毫秒。
var $test2 = $(".test2");
$(window).scroll(function () {
if ($(this).scrollTop() > 100) {
$test2.stop().animate({left: "200px"}, 300);
} else {
$test2.stop().animate({left: "-90px"}, 300);
}
});
所以只需使用jQuery的stop()方法来停止这些动画。
在旁注中:也许您应该考虑不同的if / else语句,以便不像其他建议那样获得每个滚动事件的动画(或停止/重启)。
答案 1 :(得分:1)
答案 2 :(得分:0)
您的jsfiddle示例没有延迟问题,但这可能是因为窗口大小很小并且滚动触发的机会不多。延迟的可能原因是滚动功能触发的频率。它们可能很快堆积起来并导致延迟。
添加一个console.log(如果使用Firebug)并在控制台中查看频率,以便更好地了解频率。