所以,我想上滾動火函數只有一次(使用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