Javascript 当您再次滚动到顶部时,是否有任何方法使此div返回
所以我把这个div动画完全从页面中拿出来了,但是每当我向上滚动时,它仍然在页面外,我尝试了if/else语句,但是没有返回,有人能帮我吗 提前谢谢Javascript 当您再次滚动到顶部时,是否有任何方法使此div返回,javascript,jquery,scroll,jquery-animate,Javascript,Jquery,Scroll,Jquery Animate,所以我把这个div动画完全从页面中拿出来了,但是每当我向上滚动时,它仍然在页面外,我尝试了if/else语句,但是没有返回,有人能帮我吗 提前谢谢 $(document).ready(function(){ $(window).scroll(function(){ if ($(window).scrollTop() > 300){ $('.offer').stop().animate({ top: '+= 10' }, 10, "linear
$(document).ready(function(){
$(window).scroll(function(){
if ($(window).scrollTop() > 300){
$('.offer').stop().animate({ top: '+= 10' }, 10, "linear");
}
else if ($(window).scrollTop() < 300){
$('.offer').stop().animate({ top: '-=10' }, 10, "linear");
}
});
});
$(文档).ready(函数(){
$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()>300){
$('.offer').stop().animate({top:'+=10'},10,“线性”);
}
else if($(窗口).scrollTop()<300){
$('.offer').stop().animate({top:'-=10'},10,“线性”);
}
});
});
问题在于,每次触发滚动事件时,您都会从该位置添加或删除10
您应该做的是设置一个标记,例如is Furthan 300
,用于跟踪位置是在您的截止日期之前还是之后
然后,仅当
的更改超过300时才执行动画。请尝试以下代码
$(document).ready(function(){
//Keep track of last scroll
var lastScroll = 0;
$(window).scroll(function(){
var st = $(window).scrollTop();
if (st > lastScroll){
$('.offer').stop(true).animate({ top: '+= 100px' }, 10, "linear");
}
else{
$('.offer').stop().animate({ top: '-=100px' }, 10, "linear");
}
//Updates scroll position
lastScroll = st;
});
});
希望有帮助 你能展示一下不工作的小提琴吗?是的,这里是:是的,这完全是有道理的,唯一的问题是我根本没有创建旗帜的经验,这是我走了多远,但后来我几乎被卡住了。嗯,它有点工作,但元素不再快速向上滚动,尝试了一些不同的数字,但不太有效。还不完全有效,请看这里的一把代码,当你向下滚动时,它应该向上滚动(与正常元素一样快),当你向上滚动时,它应该处于与以前完全相同的位置。你有这个主意吗?