So, würde Ich mag nur einmal eine Funktion Feuer auf Spirale (durch eine Antwort Scrollstop Stackoverflow, da mit)nur eine Funktion ausgelöst, sobald auf Scroll (scrollstop)
Das Problem ist, dass ich nicht bekommen, um die Funktion nur einmal auszulösen. Ich habe verschiedene Lösungen ausprobiert (.on(), setze einen Zähler, setze ihn außerhalb/innerhalb der window.scrollstop-Funktion), aber nichts hat funktioniert.
Ich glaube nicht, dass es schwierig ist, aber ... ich habe es bisher nicht geschafft, es zu arbeiten.
Hier ist das Plugin I
$.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));
});
};
bin mit und hier ist mein Code:
$(window).scrollStopped(function(){
if ($(".drawing1").withinViewport()) {
doNothing()
}
})
var doNothing = function() {
$('#drawing1').lazylinepainter('paint');
}
(der Zähler entfernt, da es nicht funktioniert)
PS: Die Funktion, die ich nur einmal machen möchte, ist die LazyPaint. Es beginnt, wenn wir zu dem Element blättern, aber es wird erneut ausgelöst, wenn es endet.
so Ihre Funktion doNothing() tatsächlich etwas tun? –
@roasted Ja, dumme Funktion Name, ich weiß: X – Naemy