gpt4 book ai didi

javascript - 解除绑定(bind)滚动功能

转载 作者:行者123 更新时间:2023-12-02 13:55:05 24 4
gpt4 key购买 nike

5 秒后,当用户滚动到页面的特定部分时,我将折叠模块(使用 Bootstrap)。问题是,当您手动单击按钮再次折叠时,此函数仍然会触发,而我不希望出现这种行为。

基本上,我希望此函数仅在用户滚动到页面上的特定元素后触发一次。我该如何去做呢?

$(window).on('scroll', function(){
var scroll = $(window).scrollTop();
var objectSelect = $('#whatsNextGhost');
var objectPosition = objectSelect.offset().top;
var collapseAccordion = function() {
if (scroll > objectPosition) {
$('#whatsNextSectionContent').collapse('hide');
}
};

setTimeout(collapseAccordion, 5000);
});

最佳答案

我为你创建了一个小 fiddle :

https://jsfiddle.net/1j790jxb/

在滚动时,我只需将一些内容记录到控制台:

$(window).on('scroll',function(){
console.log('scroll attached');
});

当我点击按钮(带有 ID 按钮)时,我会分离滚动:

$('#button').on('click', function(event){
$(window).off('scroll');
});

正如您在 Fiddle 中看到的:单击按钮后,控制台中不再显示任何内容。

您可能还想看看:为(滚动)事件和 requestAnimationFrame 命名空间:

关于javascript - 解除绑定(bind)滚动功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40751043/

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