Probieren Sie Wheel Event für die meisten modernen Browser
ausDas Wheel-Ereignis wird ausgelöst, wenn eine Wheel-Taste eines Zeigegeräts (normalerweise eine Maus) gedreht wird.
Ich scrollte den Inhalt eines überlaufenden DIVs, indem ich die Eigenschaft scrollLeft in Javascript ändere:
%Vor%Ich möchte dies jedoch stoppen, sobald der Benutzer den Inhalt selbst mit der Maus scrollt. Ich habe versucht, dies mithilfe des Scroll-Ereignisses zu erkennen
%Vor%jedoch löst mein automatisches Scrollen oben auch dieses Ereignis aus. Wie kann ich das unterscheiden und nur auf vom Benutzer initiiertes Scrollen reagieren? (oder: Wie kann ich den obigen Code daran hindern, ein Scroll-Ereignis auszulösen? Das würde auch den Trick bewirken)
Sie können die Funktion .hover () verwenden, um den Bildlauf zu stoppen, wenn sich die Maus über dem Bildlauffeldelement befindet:
%Vor%Bearbeiten
Basierend auf deinen Kommentaren habe ich ein jquery-Plugin von der folgenden Seite gefunden: spezielle Schriftrolle Ereignisse für jquery .
Dieses Plugin enthält ein Ereignis, das basierend auf dem Zeitraum zwischen dem letzten Bildlaufschritt und dem Zeitpunkt der Überprüfung ermittelt, ob das Bildlauf angehalten wurde.
Damit dies funktioniert, musste ich das Intervall auf etwas mehr als die vom Plugin verwendete Latenz verlangsamen, was 310 Millisekunden betrug. Dadurch musste ich den Scroll-Schritt erhöhen, damit er sich sichtbar bewegt.
Hier ist der Link:
und hier ist der Code:
%Vor%Hoffe, das hilft.
Eine weitere Option besteht darin, ein externes Flag zu haben, das Sie vor dem programmatischen Scrollen setzen und danach zurücksetzen können. Wenn das Bildlaufereignis ausgelöst wird und dieses Flag nicht gesetzt ist, wissen Sie, dass der Benutzer verantwortlich ist und entsprechend handeln kann.
Leider ist dies zwar Browser-unabhängig und leicht zu lesen, aber Sie könnten glauben, dass einige Benutzer-Scrolls programmatisch sind. Allerdings würde ich denken, dass das Vorkommen davon gering ist und sich je nach der App, die Sie schreiben, lohnen könnte.
Eine weitere Option besteht darin, ein externes Flag zu haben, das Sie vor dem programmatischen Scrollen setzen und danach zurücksetzen können. Wenn das Bildlaufereignis ausgelöst wird und dieses Flag nicht gesetzt ist, wissen Sie, dass der Benutzer verantwortlich ist und entsprechend handeln kann.
Leider ist dies zwar Browser-unabhängig und leicht zu lesen, aber Sie könnten glauben, dass einige Benutzer-Scrolls programmatisch sind. Allerdings würde ich denken, dass das Vorkommen davon gering ist und sich je nach der App, die Sie schreiben, lohnen könnte.
Für FF (Mozilla):
%code%
Für IE, Opera und Chrome:
%code%
Sie können die Funktion .hover () verwenden, um den Bildlauf zu stoppen, wenn sich die Maus über dem Bildlauffeldelement befindet:
%Vor%Bearbeiten
Basierend auf deinen Kommentaren habe ich ein jquery-Plugin von der folgenden Seite gefunden: spezielle Schriftrolle Ereignisse für jquery .
Dieses Plugin enthält ein Ereignis, das basierend auf dem Zeitraum zwischen dem letzten Bildlaufschritt und dem Zeitpunkt der Überprüfung ermittelt, ob das Bildlauf angehalten wurde.
Damit dies funktioniert, musste ich das Intervall auf etwas mehr als die vom Plugin verwendete Latenz verlangsamen, was 310 Millisekunden betrug. Dadurch musste ich den Scroll-Schritt erhöhen, damit er sich sichtbar bewegt.
Hier ist der Link:
und hier ist der Code:
%Vor%Hoffe, das hilft.
Ich scrollte den Inhalt eines überlaufenden DIVs, indem ich die Eigenschaft scrollLeft in Javascript ändere:
%Vor%Ich möchte dies jedoch stoppen, sobald der Benutzer den Inhalt selbst mit der Maus scrollt. Ich habe versucht, dies mithilfe des Scroll-Ereignisses zu erkennen
%Vor%jedoch löst mein automatisches Scrollen oben auch dieses Ereignis aus. Wie kann ich das unterscheiden und nur auf vom Benutzer initiiertes Scrollen reagieren? (oder: Wie kann ich den obigen Code daran hindern, ein Scroll-Ereignis auszulösen? Das würde auch den Trick bewirken)
Probieren Sie Wheel Event für die meisten modernen Browser
ausDas Wheel-Ereignis wird ausgelöst, wenn eine Wheel-Taste eines Zeigegeräts (normalerweise eine Maus) gedreht wird.
Tags und Links javascript jquery scroll javascript-events