首页 > jquery 如何对$(window).scroll() 方法进行禁用或启用?

jquery 如何对$(window).scroll() 方法进行禁用或启用?

如果在页面中定义了 一个scroll方法,我想在执行其他方法时禁用他,执行完后启用他,该如何去做?

$(window).scroll(function() {}

 $ (window).unbind ('scroll');

禁用很简单,如果是比较新的jquery,可以直接用$(window).off('scroll')(旧版本jquery使用unbind方法)把scroll事件解绑,但如果要重新启用相同函数的话,在绑定的时候不要使用匿名函数做参数,不然就得重新把绑定函数写一次,可以参考下面代码:

function doSth () {
    // do something
}
// 绑定scroll事件
$(window).on('scroll', doSth);
// 解绑scroll事件
$(window).off('scroll', doSth);

没有on/off方法的旧版本jquery可以使用bind/unbind方法。


我我还以为你打算要这样呢
var f = $.scroll
$.scroll=null


最好描述清楚一点,不然别人不好帮你。
比如,要知道执行的其他方法,是否和scroll有冲突(一般是有冲突,才会想要屏蔽另一个)?
执行其他方法,是否真正知道执行完?

如果知道其他方法执行完,比如说会触发什么条件之类的。那么处理起来就简单很多。
只需要一个状态变化即可,比如叫status,默认是false,或者false.
在scroll中

if(status){
    
    return ;
}
//以下为滚动处理代码

其他方法执行之前,设置status为true,执行完成之后设置为false

【热门文章】
【热门文章】