Jika Anda tidak peduli jika kode dalam timer
waktu lebih lama dari interval Anda, gunakan setInterval()
:
setInterval(function, delay)
Itu menyalakan fungsi yang dilewatkan sebagai parameter pertama berulang kali.
Pendekatan yang lebih baik adalah, untuk digunakan setTimeout
bersama dengan self-executing anonymous
fungsi:
(function(){
// do some stuff
setTimeout(arguments.callee, 60000);
})();
yang menjamin, bahwa panggilan berikutnya tidak dilakukan sebelum kode Anda dieksekusi. Saya menggunakan arguments.callee
contoh ini sebagai referensi fungsi. Ini adalah cara yang lebih baik untuk memberikan fungsi nama dan panggilan yang dalam setTimeout
karena arguments.callee
sudah usang dalam ecmascript 5.
clearInterval()
adalah fungsi mitrasetInterval()
dan berguna jika Anda ingin menghentikan panggilan fungsi berkala Anda.menggunakan
EDIT: (Dalam kasus jika Anda ingin menghentikan jam setelah dimulai)
Bagian skrip
dan Kode HTML
sumber
Sebuah lebih baik menggunakan JANDY 's jawaban untuk melaksanakan fungsi polling yang jajak pendapat setiap
interval
detik, dan berakhir setelahtimeout
detik.MEMPERBARUI
Sesuai komentar, memutakhirkannya untuk kemampuan fungsi yang berlalu untuk menghentikan polling:
sumber
sendHeartBeat
?interval
dantimeout
dalam milidetik, bukan?Di jQuery Anda bisa melakukan ini.
sumber
// Change Interval here to test. For eg: 5000 for 5 sec
Saat ini sudah diatur untuk berubah setiap 6 detik. gunakan nilai 60000 selama satu menitadalah metode yang Anda cari.
sumber
Anda cukup memanggil setTimeout di akhir fungsi. Ini akan menambahkannya lagi ke antrian acara. Anda dapat menggunakan segala jenis logika untuk memvariasikan nilai keterlambatan. Sebagai contoh,
sumber
Gunakan
window.setInterval(func, time)
.sumber
sumber
sumber
sumber
di sini kita menghibur bilangan asli 0 hingga ...... n (angka berikutnya dicetak di konsol setiap 60 detik), menggunakan setInterval ()
sumber
Ada 2 cara untuk memanggil-
setInterval(function (){ functionName();}, 60000);
setInterval(functionName, 60000);
fungsi di atas akan memanggil setiap 60 detik.
sumber