La risposta accettata è l'unica buona qui.
che sto lasciando una risposta perché la maggior parte degli altri non riescono, per vari motivi.
Se si desidera utilizzare .delay()
, la voce in ritardo deve essere parte della coda. Il metodo .hide()
no. Ma se si dà una durata a .hide()
, lo è.
Così si può fare questo:
var $div2 = $('#div2');
$('#div1').mouseenter(function() {
$div2.show().delay(10000).hide(0);
});
La durata 0
fa .hide()
parte della coda. Se non si desidera utilizzare .hover()
perché sarà il fuoco una volta per mouseenter
e una volta per mouseleave
. Questo non è quello che volevamo.
Alcune delle risposte che utilizzano setTimeout()
non riescono perché se ci sono più eventi mouseenter
, vengono effettuate più chiamate setTimeout()
. La risposta accettata aggira questo.
Pubblica un campione di HTML per ottenere la risposta migliore. Potrebbero esserci problemi di ordine degli eventi se i div sono nidificati. – Silkster
@silkster, la prossima volta lo farò sicuramente. Ho ricevuto la risposta, grazie mille – kobe
Possibile duplicato di [jQuery show per 5 secondi poi nascondi] (http://stackoverflow.com/questions/3428766/jquery-show-for-5-seconds-then-hide) –