Javascript 在滚动后触发JQuery动画scrollTop
我已经编写了一个动画函数,当我点击按钮触发它时,它可以正常工作,但是当我试图在滚动div时触发它时,动画在动画上会跳跃(跳到div的顶部) EDIT:一个jsfiddle示例 以下是eventListener代码:Javascript 在滚动后触发JQuery动画scrollTop,javascript,jquery,Javascript,Jquery,我已经编写了一个动画函数,当我点击按钮触发它时,它可以正常工作,但是当我试图在滚动div时触发它时,动画在动画上会跳跃(跳到div的顶部) EDIT:一个jsfiddle示例 以下是eventListener代码: var lastPosition = 0; var doneAnimate = true; var lastID = 1; window.onload = function() { document.getElementById("content").addEventListen
var lastPosition = 0;
var doneAnimate = true;
var lastID = 1;
window.onload = function() {
document.getElementById("content").addEventListener("scroll", function(e) {
e.preventDefault();
var current = document.getElementById("content").scrollTop;
if (lastTopPosition > current) {
if (doneAnimate) {
Slide(lastID - 1);
}
} else if (lastTopPosition < current) {
if (doneAnimate) {
Slide(lastID + 1);
}
}
lastTopPosition = current;
return false;
})
}
“使用去Bouncer->没有帮助,不幸的是,你能提供问题所在的工作预览吗?”亚当刚刚补充道。请注意,当由“让我们看一看”按钮触发时,它可以完美地工作
function Slide(ID) {
console.log(ID)
lastID = ID;
$("#content").animate({
scrollTop: $("#part" + ID).offset().top
}, {
duration: 1000,
easing: "linear",
complete: function() {
doneAnimate = true;
},
start: function() {
doneAnimate = false;
}
}
);
}