Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

JQuery - Tabslider am Seitenrand

Frage Entwicklung JavaScript

Mitglied: ottscho

ottscho (Level 2) - Jetzt verbinden

27.06.2012 um 14:08 Uhr, 3512 Aufrufe, 3 Kommentare

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.

01.
$("#phone-button").hover(function(){ 
02.
		    $("#phone-button").animate({left:'0px'},'slow'); 
03.
		    return false; 
04.
		}); 
05.
 
06.
$("#phone-button").mouseleave(function(){ 
07.
		    $("#phone-button").animate({left:'-271px'},'slow'); 
08.
		    return false; 
09.
		});
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
Mitglied: EvilMoe
27.06.2012, aktualisiert um 15:37 Uhr
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:

01.
var complete = true; 
02.
 
03.
$("#phone-button").hover(function() { 
04.
    if (complete === true) {        
05.
        complete = false; 
06.
        $("#phone-button").animate({ left: '0px'}, 'slow', function() { 
07.
            complete = true; 
08.
        }); 
09.
10.
}, function() { 
11.
    $("#phone-button").animate({left: '-271px'}, 'slow'); 
12.
});​
Bitte warten ..
Mitglied: EvilMoe
27.06.2012 um 15:59 Uhr
Da fällt mir gerade ein, "complete = true; " sollte wohl erst gesetzt werden wenn die Animation wieder geschlossen wurde und nicht nachdem öffnen. Wenn mein aber noch auf dem Element ist wird "hover" aber nicht mehrmals aufgerufen und sollte keinen unterschied machen. Besser wäre es wohl aber.
Bitte warten ..
Mitglied: ottscho
27.06.2012 um 17:04 Uhr
danke für den Code. Ich habe diesen nun mal eigebunden. Es scheint ruhiger zu laufen
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
JavaScript
gelöst Jquery Formular absenden (1)

Frage von tobmes zum Thema JavaScript ...

JavaScript
gelöst Externen DIV-Container via jQuery anzeigen (6)

Frage von Akrosh zum Thema JavaScript ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (15)

Frage von Angela44 zum Thema DSL, VDSL ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...