Ich versuche, die Funktionalität der folgenden Website nachzuahmen: www.verbaasd.net. Jede Scroll-Sitzung löst nur eine Aktion aus.Mausrad Scroll Ereignis Feuer nur einmal pro Scroll-Sitzung
Jedes Mal, wenn ein Benutzer nach unten scrollt, wird abhängig vom Status der Variablenanzahl eine Aktion ausgeführt. Ich möchte nur, dass dies EINMALIG pro Rolle geschieht. Zum Beispiel, wenn ein Benutzer ein Macbook mit Touchpad hat, wird es mehrfach sehr weit feuern. Die Zählung wird ziemlich sofort von 1 bis 4 gehen. Gibt es eine Möglichkeit, ein Timeout oder etwas einzustellen, so dass es für 0,5 Sekunden stoppt, wenn die Variablenanzahl um 1 erhöht oder verringert wird?
Aktuelle Code:
var count = 1;
$(window).on('mousewheel DOMMouseScroll', function(e) {
if (e.originalEvent.wheelDelta/120 > 0) {
count -= 1;
} else {
count += 1;
}
if (count < 1) count = 1;
if (count > 4) count = 4;
switch (count) {
case 1:
// do something
break;
case 2:
// do something
break;
case 3:
// do something
break;
case 4:
// do something
break;
}
$(".cd-background-wrapper").attr("data-slide", count);
});
https://stackoverflow.com/questions/25860108/jquery-page-scroll-event-logic-how-to- throttle – Burimi
https://css-tricks.com/the -Differenz zwischen Throttling-and-Debounce/ –
Danke! Underscore konnte nicht funktionieren, aber lodash funktioniert gut. Vielen Dank! – elw