所以,我想上滚动火函数只有一次(使用Scrollstop,由计算器给出的答复)只有在滚动触发一个函数一次(scrollstop)
的问题是,我不明白只能触发一次该功能。我尝试了不同的解决方案(.on(),设置一个计数器,将它设置在window.scrollstop函数的外部/内部),但没有任何工作。
我不认为这很困难,但..我没有得到它到目前为止的工作。
下面是我使用
$.fn.scrollStopped = function(callback) {
$(this).scroll(function(){
var self = this, $this = $(self);
if ($this.data('scrollTimeout')) {
clearTimeout($this.data('scrollTimeout'));
}
$this.data('scrollTimeout', setTimeout(callback,300,self));
});
};
和这里的插件是我的代码:
$(window).scrollStopped(function(){
if ($(".drawing1").withinViewport()) {
doNothing()
}
})
var doNothing = function() {
$('#drawing1').lazylinepainter('paint');
}
(除去柜台,因为它没有工作)
PS:我只想做一次的函数就是lazyPaint。它在我们滚动到元素时开始,但当它结束时再次触发。
所以你的函数doNothing()实际上做了什么? –
@roasted是的,愚蠢的函数名称,我知道:X – Naemy