stop start reiniciar interval detener como and javascript jquery html setinterval

javascript - start - Stop setInterval



stop set interval js (5)

UTILIZA esto espero ayudarte

var interval; function updateDiv(){ $.ajax({ url: ''getContent.php'', success: function(data){ $(''.square'').html(data); }, error: function(){ /* clearInterval(interval); */ stopinterval(); // stop the interval $.playSound(''oneday.wav''); $(''.square'').html(''<span style="color:red">Connection problems</span>''); } }); } function playinterval(){ updateDiv(); interval = setInterval(function(){updateDiv();},3000); return false; } function stopinterval(){ clearInterval(interval); return false; } $(document) .on(''ready'',playinterval) .on({click:playinterval},"#playinterval") .on({click:stopinterval},"#stopinterval");

Quiero detener este intervalo en el controlador de error no se ejecute repetidamente. Es posible, y si es así, ¿cómo?

$(document).on(''ready'',function(){ setInterval(updateDiv,3000); }); function updateDiv(){ $.ajax({ url: ''getContent.php'', success: function(data){ $(''.square'').html(data); }, error: function(){ $.playSound(''oneday.wav''); $(''.square'').html(''<span style="color:red">Connection problems</span>''); // I want to stop it here } }); }


Usa una variable y llama a clearInterval para detenerlo.

var interval; $(document).on(''ready'',function() interval = setInterval(updateDiv,3000); }); function updateDiv(){ $.ajax({ url: ''getContent.php'', success: function(data){ $(''.square'').html(data); }, error: function(){ $.playSound(''oneday.wav''); $(''.square'').html(''<span style="color:red">Connection problems</span>''); // I want to stop it here clearInterval(interval); } }); }


setInterval asignar el valor devuelto de la función setInterval a una variable

var interval; $(document).on(''ready'',function(){ interval = setInterval(updateDiv,3000); });

y luego use clearInterval(interval) para borrarlo nuevamente.


setInterval establecer el valor de retorno de setInterval en una variable dentro del alcance del manejador de clics, luego use clearInterval() esta manera:

var interval = null; $(document).on(''ready'',function(){ interval = setInterval(updateDiv,3000); }); function updateDiv(){ $.ajax({ url: ''getContent.php'', success: function(data){ $(''.square'').html(data); }, error: function(){ clearInterval(interval); // stop the interval $.playSound(''oneday.wav''); $(''.square'').html(''<span style="color:red">Connection problems</span>''); } }); }


var flasher_icon = function (obj) { var classToToggle = obj.classToToggle; var elem = obj.targetElem; var oneTime = obj.speed; var halfFlash = oneTime / 2; var totalTime = obj.flashingTimes * oneTime; var interval = setInterval(function(){ elem.addClass(classToToggle); setTimeout(function() { elem.removeClass(classToToggle); }, halfFlash); }, oneTime); setTimeout(function() { clearInterval(interval); }, totalTime); }; flasher_icon({ targetElem: $(''#icon-step-1-v1''), flashingTimes: 3, classToToggle: ''flasher_icon'', speed: 500 });

.steps-icon{ background: #d8d8d8; color: #000; font-size: 55px; padding: 15px; border-radius: 50%; margin: 5px; cursor: pointer; } .flasher_icon{ color: #fff; background: #820000 !important; padding-bottom: 15px !important; padding-top: 15px !important; }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <i class="steps-icon material-icons active" id="icon-step-1-v1" title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Origin Airport">alarm</i>