我在里面做JS动画如果我不想在它到达它之后重复它所以我使用$(window).off('scroll');
现在#container
之后的每个元素都不能使用滚动事件而我试图打开滚动但它无效$(window).on('scroll');.
任何的想法?
$(window).scroll(function() {
var hT = $('#container').offset().top,
hH = $('#container').outerHeight(),
wH = $(window).height(),
wS = $(this).scrollTop();
console.log((hT-wH) , wS);
if (wS > (hT+hH-wH)){
// some code
$(window).off('scroll');
}
});
答案 0 :(得分:1)
你的电话会解除所有事件的束缚,而不只是一个。你需要取消绑定一个实例。它可以使用函数引用
完成var myScroll1 = function () {
$(window).off("scroll", myScroll1)
}
$(window).on("scroll", myScroll1)
或名称空间
$(window).on("scroll.scroll1", function () {
$(window).off("scroll.scroll1", myScroll1)
})