2011-04-01 7 views
5

He pasado por la mayor parte del código aquí y he intentado varias formas de hacer funcionar ClearInterval y por alguna razón simplemente no funciona, aunque es un problema básico y simple.JavaScript simple o jQuery clearInterval problema

Aquí está el código y quiero saber POR QUÉ no está funcionando, no solo obtener el código hecho por mí.

var myTimer; 

function startTimer() { 
    myTimer = window.setInterval(function() { 
     $('#randomImage').fadeTo('slow',0.0).addClass("changeBg_" + current); 
     var current = Math.round(Math.random() * 4) + 1; 
     $('#randomImage').fadeTo('slow',1.0).addClass("changeBg_" + current); 
    }, 5000); 
}; 

function stopTimer(){ 
    window.clearInterval(myTimer); 
    $('#randomImage').fadeTo('slow',0.0); 

} 

Gracias por adelantado de un foro ...

+1

¿Y qué se supone que debe hacer? ¿Qué quieres decir con no trabajar? –

+0

starTimer() gira clases css al azar cada 5 segundos y stopTimer() debe borrar el setInterval puesto en startTimer() pero no detiene el setInterval. –

+0

¿Y estás seguro de que el problema no está en otro lado? ¿Se llama incluso a 'stopTimer'? –

Respuesta

6

Su código está bien, funciona perfectamente. Debe ser un problema con el código que lo llama. Consulte this fiddle.

var myTimer; 

function startTimer() { 
    myTimer = window.setInterval(function() { 
     $('#randomImage').fadeTo('slow',0.0).addClass("changeBg_" + current); 
     var current = Math.round(Math.random() * 4) + 1; 
     $('#randomImage').fadeTo('slow',1.0).addClass("changeBg_" + current); 
    }, 5000); 
}; 

function stopTimer(){ 
    window.clearInterval(myTimer); 
    $('#randomImage').fadeTo('slow',0.0); 

} 

startTimer(); 
$('#randomImage').click(function() { stopTimer(); }); 
+0

Su derecho Jakub ... Agregué $ ('# randomImage'), haga clic en (function() {stopTimer();}); como una llamada en lugar de Div onclick = "stopTimer()" y funcionó ... ¿puedes explicar por qué? –

+0

Actualiza la pregunta con la fuente completa: es difícil especificar el código que no ves. –

Cuestiones relacionadas