JQuery - Tabslider am Seitenrand
Hallo,
ich habe einen Telefon-Slider, welcher am linken Seitenrand plaziert ist. Fährt man mit der Maus drüber, so slidet dieser etwas nach Rechts. Verlässt man den Bereich, fährt der Slider wieder nach links zurück.
Leider ist das Ding etwas zappelig und nervös. Fährt man öfter drauf in sehr kurzen Abständen, so kann es sein, dass der Slider 5 mal hin und her slidet.
Kann ich irgendwie eine Zeitkontrolle einbauen, wenn der Mouseleave Event gestartet wird, dass ab jetzt z.B. der hover Event für 5 Sekunden blockiert ist?
Oder gibt es eine andere Möglichkeit das Problem in den Griff zu bekommen.
Danke für eure Hilfe.
Gruß
ottscho
ich habe einen Telefon-Slider, welcher am linken Seitenrand plaziert ist. Fährt man mit der Maus drüber, so slidet dieser etwas nach Rechts. Verlässt man den Bereich, fährt der Slider wieder nach links zurück.
$("#phone-button").hover(function(){
$("#phone-button").animate({left:'0px'},'slow');
return false;
});
$("#phone-button").mouseleave(function(){
$("#phone-button").animate({left:'-271px'},'slow');
return false;
});
Leider ist das Ding etwas zappelig und nervös. Fährt man öfter drauf in sehr kurzen Abständen, so kann es sein, dass der Slider 5 mal hin und her slidet.
Kann ich irgendwie eine Zeitkontrolle einbauen, wenn der Mouseleave Event gestartet wird, dass ab jetzt z.B. der hover Event für 5 Sekunden blockiert ist?
Oder gibt es eine andere Möglichkeit das Problem in den Griff zu bekommen.
Danke für eure Hilfe.
Gruß
ottscho
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 187158
Url: https://administrator.de/forum/jquery-tabslider-am-seitenrand-187158.html
Ausgedruckt am: 22.12.2024 um 21:12 Uhr
3 Kommentare
Neuester Kommentar
Hallo,
wie wäre es mit einer einfach Variable die du setzt wenn es öffnet und die Variable beim schließen überprüfst ob das öffnen schon ganz fertig ist. Das "mouseleave" kannst du dir übrigens schenken, das bietet dir auch schon "hover" an. Ich würde das eventuell so machen, einfach mal probieren:
wie wäre es mit einer einfach Variable die du setzt wenn es öffnet und die Variable beim schließen überprüfst ob das öffnen schon ganz fertig ist. Das "mouseleave" kannst du dir übrigens schenken, das bietet dir auch schon "hover" an. Ich würde das eventuell so machen, einfach mal probieren:
var complete = true;
$("#phone-button").hover(function() {
if (complete === true) {
complete = false;
$("#phone-button").animate({ left: '0px'}, 'slow', function() {
complete = true;
});
}
}, function() {
$("#phone-button").animate({left: '-271px'}, 'slow');
});