jQuery setTimeout

8

Ich möchte diesem Tooltip-Code ein Zeitlimit hinzufügen, so dass es nur angezeigt wird, wenn der Mauszeiger nach einer Weile und nicht sofort über dem Bildschirm schwebt ... Ich habe versucht, setTimeout() hinzuzufügen, konnte aber nicht herausfinden, wie ich es verwenden soll clearTimeout() , so dass der Tooltip beim Mouseout nicht ausgeblendet wird. Können Sie mir helfen?

%Vor%

Ich habe es versucht:

%Vor%     
user1002039 22.12.2011, 22:08
quelle

6 Antworten

13

Da Sie eine Animation verwenden, können Sie .delay() verwenden, um die Darstellung Ihres Tooltips zu verschieben:

%Vor%

Verwenden Sie in Ihrer mouseout -Funktion .stop , um vorhandene Verzögerungen oder Animationen zu verwerfen, und blenden Sie dann die QuickInfo aus :

%Vor%     
Alnitak 22.12.2011, 22:11
quelle
4
%Vor%

Dies wird eine halbe Sekunde warten, bevor Sie was auch immer tun, wenn Sie mouseover das Element und die was auch immer nicht passieren, wenn Sie mouseout innerhalb der halben Sekunde.

    
Jasper 22.12.2011 22:20
quelle
2

Eine Option ist die Verwendung des HoverIntent Plugins, um das zu erreichen, was Sie wollen.

    
user1106925 22.12.2011 22:11
quelle
0
  1. Benutze stattdessen hover() , es ist weniger Code (und das ist immer gut, IMO).

Wie so:

%Vor%     
Purag 22.12.2011 22:12
quelle
0

Diese Frage ist alt, aber ich dachte, ich beantworte sie für andere. Der Hauptgrund, warum das Timeout nicht funktionierte, war der Fall von "setTimeOut". Sie können Kamelhöcker den Out-Teil. Sein "setTimeout".

    
JSV 07.03.2013 23:07
quelle
0

setTimeout funktioniert nicht bei Mouseover oder Hover. Es ist sicher zu verwenden .delay ().

%Vor%     
Anthony Carbon 21.01.2015 07:37
quelle

Tags und Links