我在$('body').scrollTop() > 45
当用户向上滚动时,我需要为同一个div设置动画。我尝试了这个代码,第一个 if 有效。如何才能使第二个条件起作用?
if ($('body').scrollTop() > 45) {
$('.my-div').animate({
top:'-45px'
}, 200);
}
if (¿?user-scrolls-up¿?) {
$('.my-div').animate({
top:'0px'
}, 200);
}
答案 0 :(得分:0)
一种方法是将滚动值保存到滚动变量。然后,您可以将该值与上一个滚动值进行比较。如果先前>当前用户已向上滚动。
这是针对那种情况的pseduo代码
var lastScroll = 0;
$(window).scroll(function() {
var currentScroll = $(window).scrollTop();
... Your first if perhaps using currentScroll ...
if(currentScroll < lastScroll) {
$('.my-div').animate({
top:'0px'
}, 200);
}
lastScroll = currentScroll;
}
或者您可以使用setInterval
,将最后一次迭代间隔的滚动位置与当前迭代进行比较