2011-11-25 16 views
9

Czy jest ktoś, kto wie jak zabić interwał po użyciu setInterval() w następującym przypadku użycia?JS - Jak wyczyścić przedział po użyciu setInterval()

Z góry dziękuję!

$(document).ready(function(){ 
    setInterval(function(){ 
    $.ajax({ url: "test.php", 
     success: function(result){ 
     $("#results").append(result); 
     } 
    }); 
    }, 1000); 
}); 

test.php

$CT = date('Y-m-d H:i:s', time()); 
echo $CT; 
+0

Jaką pętlę? Masz na myśli przedział "pętlę"? –

Odpowiedz

22
var interval = setInterval(function() { 
    $.ajax({ 
     url: "test.php", 
     success: function(result) { 
      $("#results").append(result); 
     } 
    }); 
}, 1000); 

clearInterval(interval); 
+0

Dzięki @mmmshuddup, ale po użyciu kodu nic nie jest wyświetlane na stronie. – Acubi

+0

Cóż, nie powinno się 'clearInterval()' _right away_. Ile razy potrzebujesz tego do uruchomienia? –

+2

Mam wrażenie, że zamiast tego używasz 'setTimeout()'. W takim przypadku uruchomiłoby się tylko raz, a następnie nie trzeba niczego usuwać. –

5

w sposób jasny metoda terval clearInterval(); przekazać zmienną, w której jesteś setInterval.

Na przykład:

var refreshIntervalId = setInterval(fname, 10000); 

clearInterval(refreshIntervalId); 
0

Jeśli planowaliśmy tylko uruchamiając funkcję raz, chciałbym zaproponować za pomocą Window SetTimeout() Method gdyż wykonuje raz, dzięki czemu po usunięciu interwał jeden bieg zbędne.

Powiązane problemy