Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

geektr

[Resolvido] Executar função após 3 segundos

Recommended Posts

galera, eu quero que os comandos contidos dentro de uma função mouseover seja executada apenas se o mouse permanecer por 3 segundos em cima do elemento.

 

como fazer isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisaria ativar um setInterval no momento que o evento mouseover for disparado, e limpá-lo no mouseout, assim evita disparar o setInterval mesmo o usuário retirando o mouse de cima do elemento antes do tempo completar.

 

Basicamente seria o seguinte:

 

html

<button id="hover-me">Hover \o</button>

 

js

(function(){

   var button = document.getElementById( 'hover-me' ),
       timer;

   button.addEventListener( 'mouseover', function( evt ) {

       timer = setTimeout( function(){

           alert( 'Timeout' );

       }, 3 * 1000 );

   }, false );

   button.addEventListener( 'mouseout', function( evt ) {

       clearTimeout( timer );

   }, false );


}());

 

Online :seta: http://jsfiddle.net/JCMais/Tym8z/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.