Foros del Web » Programando para Internet » Jquery »

Problemas con detener reload con pauseInterval

Estas en el tema de Problemas con detener reload con pauseInterval en el foro de Jquery en Foros del Web. Tengo un javascript el cual al pasar el mouse sobre el DIV counter detiene un conteo (y en teoría el refresh) y al salir continua ...
  #1 (permalink)  
Antiguo 17/04/2016, 07:57
Avatar de daniiable  
Fecha de Ingreso: noviembre-2009
Ubicación: Puebla, Pue.
Mensajes: 28
Antigüedad: 15 años
Puntos: 0
Pregunta Problemas con detener reload con pauseInterval

Tengo un javascript el cual al pasar el mouse sobre el DIV counter detiene un conteo (y en teoría el refresh) y al salir continua contando y en teoría ejecutando el cronometro del refresh.

El problema es que si inicia el conteo e incluso al pasar el mouse sobre el DIV si detiene la ejecución del reload pero al quitar y poner nuevamente el mouse este continua el refresh y lo que quiero es que al poner el mouse se ponga en pausa el refresh y al quitar se ejecute pero si vuelves a poner el mouse encima este se cancele continuando la edición del documento que este en iframe.

Este es mi código:

Código HTML:
[HIGHLIGHT="Javascript"]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Busqueda</title>
<link href="../css/paginas.css" rel="stylesheet" type="text/css" />
</head>

<body>
    <!-- you'll need jQuery for this. If you really want a vanilla version, ask -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div id="counter">
Última actualización: <script> 
miFecha = new Date() 
document.write(miFecha.getHours() + ":" + miFecha.getMinutes() + ":" + miFecha.getSeconds()) 
</script>, hace <span id="showCount"> </span> minutos
<p></p>
<span id="counting"> </span>

<iframe name="llamadas" src="mipagina.html" width="100%" height="600"></iframe>
</div>

<script type="text/javascript">
var i = 0;
window.setInterval(function() { //declare new function
  if(!$('#counter').hasClass('pauseInterval')) { //only run if it hasn't got this class 'pauseInterval'
    $('#showCount').html(i++); //just for explaining and showing
  }
}, 500);

$('#counter').hover(function() { //mouse enter
    $(this).addClass('pauseInterval');
    $('#counting').text('La actualización es cada 5 min.');
  },function() { //mouse leave
    $(this).removeClass('pauseInterval');
	    setTimeout(function () {
        window.location.reload()
    }, 3000);
    $('#counting').text('Actualización en proceso, guarda tus cambios.');
  }
);

    </script>
</body>
</html>

[/HIGHLIGHT]
  #2 (permalink)  
Antiguo 18/04/2016, 08:58
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 9 meses
Puntos: 53
Respuesta: Problemas con detener reload con pauseInterval

que tal , se me ocurre que podrias poner un campo como bandera , para ver si esta en proceso o no , y asi ejecutar la actualizacion o no

Código Javascript:
Ver original
  1. <input type="text" value="1" id="bandera">
  2. var bandera = $("#bandera").val();
  3. if(bandera.val()==='1'){
  4. $(this).removeClass('pauseInterval');
  5.         setTimeout(function () {
  6.         window.location.reload()
  7.     }, 3000);
  8.     $('#counting').text('Actualización en proceso, guarda tus cambios.');
  9. $("#bandera").val('2');
  10. }
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Etiquetas: detener, reload
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:43.