gpt4 book ai didi

javascript - jquery中dom引擎如何检测页面滚动

转载 作者:行者123 更新时间:2023-11-28 09:15:06 24 4
gpt4 key购买 nike

使用 jQuery 的 scroll() 函数,您可以检测任何滚动事件,无论它是由用户(即鼠标滚动、拖动滚动条)还是 DOM 引擎(添加或删除元素)。如何区分 DOM 引擎触发的滚动事件。

This jsfiddle清楚地表明了我的意思。

最佳答案

有很多方法可以处理这个问题,但我不知道有哪一种是非常官方的。

一种简单的方法是在以编程方式启动滚动(例如设置类)时设置一个切换开关,并在完成后将其删除。我有forked your fiddle展示它是如何工作的。

$("#scrollable")
.addClass('programatically-scrolling')
.scrollTo({
top: $("#scrollable").prop("scrollHeight") - $("#scrollable").innerHeight(),
left: 0
}, 1000, {
axis: 'y',

// Add a function to remove the toggle when the animation is complete
onAfter: function () {
$(this).removeClass('programatically-scrolling');
}
});

$("#scrollable").scroll(function (event) {

// This will be true when your $.scrollTo animation is going
// and false when you trigger the scroll with your mouse
console.log($(this).hasClass('programatically-scrolling'));
});

还有其他方法可以解决这个问题,其他人也有 asked the same question 。制作jQuery special event可能是最有趣的,但我概述的解决方案可能是最简单的。

关于javascript - jquery中dom引擎如何检测页面滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15746699/

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