2011-01-04 5 views
3

Ich benutze ein Moushweel-Plugin, weil ich möchte, dass mein Benutzer eine Aktion feuern jedes Mal, wenn es nach oben oder unten scrollen, aber ich möchte nicht mehrere Brände (wenn Sie haben A Apple Magic Mouse ist es noch schlimmer, weil zu empfindlich ist)jquery mousewheel plugin: Wie feuert man nur eine Funktion für jede Rolle

eine Idee, wie man es verhindert?

Dies ist der Code

jQuery(function($) { 
    $('div.mousewheel_example') 
     .bind('mousewheel', function(event, delta) { 
      var dir = delta > 0 ? 'Up' : 'Down', 
       vel = Math.abs(delta); 
      $(this).text(dir + ' at a velocity of ' + vel); 
      return false; 
     }); 
}); 

dies die Seite Plugin ist http://brandonaaron.net/code/mousewheel/demos

Antwort

1

Sie versuchen, mit window.setTimeout spielen könnte. Vielleicht, indem Sie Ihre verschachtelte Funktion herausziehen und etwas mit einer Proxy-Funktion mit einem Timer verwenden. Beispiel:

Dies wird die Ereignisauslösung nicht stoppen, aber es wird die Ausführung der Funktion jedes Mal stoppen, wenn das Ereignis ausgelöst wird.

0

Sicck, verstanden. Wenn Sie eine Animation innerhalb Vorwort es nur mit .stop laufen() So würde es lesen

$('#findme').stop().animate(...);