gpt4 book ai didi

javascript - jQuery 滚动超时

转载 作者:行者123 更新时间:2023-11-28 20:28:12 25 4
gpt4 key购买 nike

我正在尝试在页面滚动上添加延迟,这样如果我添加一些动画,它就不会破坏。这是我的代码:

var lastScrollY = 0,
delayFlag = true,
delayTime = 1000;

$(window).on('scroll', function(e) {
if(delayFlag == true) {
delayFlag = false;
var posY = $(this).scrollTop(),
sectionH = $('.page').height(),
multiplier = (Math.round(lastScrollY / sectionH));

if(lastScrollY > posY) {
$(window).scrollTop((multiplier - 1) * sectionH);
}
else {
$(window).scrollTop((multiplier + 1) * sectionH);
}

lastScrollY = posY;

setTimeout(function() { delayFlag = true }, delayTime);
}
else {
e.preventDefault();
}
});

jQuery preventDefault() 不起作用。有什么办法可以延迟滚动事件吗?

最佳答案

e.preventDefault(); 用于防止事件的默认操作。例如,单击 anchor 将导致页面导航到 anchor 的 href 中存储的地址,并且在 anchor 的单击事件中调用 e.preventDefault(); 将导致此导航不会发生

但是,

e.preventDefault(); 不会取消刚刚发生的事件。在表单输入的 onchange 事件中调用它不会将其值恢复到原来的值,并且在滚动事件中调用它不会取消滚动。

关于javascript - jQuery 滚动超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16945016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com