Javascript 当滚动停止时如何执行jQuery回调一次

Javascript 当滚动停止时如何执行jQuery回调一次,javascript,jquery,callback,scroll,settimeout,Javascript,Jquery,Callback,Scroll,Settimeout,所以我在TinyScrollbar中找到了滚动事件 我想执行一个回调以淡出滚动条的不透明度 我认为使用setTimeout和clearTimeout会起作用,它确实起作用,但似乎调用函数的次数与oScrollbar.obj.css{opacity:1}一样多;但在超时延迟设置的1000ms延迟之后 这会导致闪烁效果 oScrollbar.obj.css({opacity:1}); console.log('Scrolling'); clearTimeout(fade); var fade =

所以我在TinyScrollbar中找到了滚动事件 我想执行一个回调以淡出滚动条的不透明度

我认为使用setTimeout和clearTimeout会起作用,它确实起作用,但似乎调用函数的次数与oScrollbar.obj.css{opacity:1}一样多;但在超时延迟设置的1000ms延迟之后

这会导致闪烁效果

oScrollbar.obj.css({opacity:1});
console.log('Scrolling');
clearTimeout(fade);

var fade = setTimeout( function() {
    console.log('Scroll Stopped');
    oScrollbar.obj.stop().fadeTo(300,0)
    }, 1000);
是否有更好的方法在事件停止触发后只执行一次函数