Rumah > Artikel > hujung hadapan web > Pemasa JavaScript SetTimeout kerap menyegarkan tetingkap dan menutup tetingkap (kodnya sangat mudah)_kemahiran javascript
Pemasa JavaScript SetTimeout kerap menyegarkan tetingkap dan menutup tetingkap (kodnya sangat mudah)_kemahiran javascript
Tiada lagi perkara karut, saya hanya akan menyiarkan kod untuk anda.
// 每隔五秒定时刷新当前窗口 setTimeout("self.location.reload();",5000); //js 定时关闭窗口(ie和FF中测试过) //6秒后自动关闭当前窗口 setTimeout("window.opener=null;window.close()",6000);
Berikut ialah pengenalan kepada penggunaan pemasa javascript
Menggunakan pemasaan Objek tetingkap yang melaksanakan pelaksanaan tertunda atau pelaksanaan berulang JavaScript menyediakan dua kaedah untuk mencapai kesan pemasa, iaitu
window.setTimeout() dan window.setInterval. Yang pertama boleh membuat sekeping kod dijalankan selepas masa yang ditentukan; yang kedua boleh membuat sekeping kod dijalankan sekali setiap masa yang ditentukan. Prototaip mereka adalah seperti berikut:
window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds);
di mana ungkapan boleh menjadi rentetan atau nama fungsi. Apabila ia adalah rentetan, anda boleh mengambil parameter, tetapi nama fungsi tidak boleh mengambil parameter Jika anda mengambil parameter, fungsi akan dilaksanakan secara langsung tanpa berlengah-lengah.
function hello (){ console.log('I am dada'); //alert('I am ' + name); //setTimeout(arguments.callee,2000); } setTimeout(hello,5000);//5秒后执行 setTimeout('hello()',3000);//3秒后执行 setTimeout(hello(),8000);//立刻执行
Kes pertama ialah nama fungsi, tetapi ia tidak boleh mengambil parameter
Kes kedua ialah rentetan, Kod js boleh laku boleh mengambil parameter, tetapi prestasinya lebih teruk daripada nama fungsi
Kaedah ketiga ialah memanggil fungsi dan melaksanakannya secara langsung
Jadi jika anda ingin lulus parameter, tetapi jangan 't want to pass characters Untuk memanggil dalam bentuk rentetan, anda boleh menulis kaedah sendiri:
function _hello(_name){ return function(){ hello2(_name); } } setTimeout(_hello(name),7000);//立刻执行
1. setTimeout
setTimeout(function(){ //要执行的代码 },200);
bermakna selepas 200ms, kod pemasa ditambah pada baris gilir dan menunggu untuk proses JavaScript melahu sebelum kod dilaksanakan
2 setInterval
1 pemasa yang melaksanakan kod setiap 200ms
2. Apabila menggunakan setInterval, kod pemasa ditambahkan pada baris gilir hanya jika tiada kejadian lain pemasa itu (dalam baris gilir Untuk memetik buku Pengaturcaraan Lanjutan JavaScript Edisi Kedua). penyata (iaitu: pemasa semasa Apabila kod pemasa dilaksanakan, kod pemasa pertama yang berikut akan ditambahkan pada baris gilir dan menunggu untuk pelaksanaan, dan kod pemasa berikutnya tidak akan ditambahkan pada baris gilir)
Gunakan setInterval untuk melaksanakan Anda akan menghadapi masalah apabila melakukan tingkah laku berulang:
Apabila masa pelaksanaan kod pemasa (jika mengambil masa 600ms untuk dilaksanakan) melebihi selang yang ditentukan (di sini ialah 200ms), maka beberapa kod pemasa akan dilangkau (iaitu, kod pemasa berikutnya tidak akan ditambahkan pada baris gilir Selepas kod pemasa sebelumnya dilaksanakan, kod pemasa dalam baris gilir akan dilaksanakan serta-merta, dan tidak akan ada selang antara kod). pelaksanaan antara pemasa. Pada masa ini, anda perlu menggunakan setTimeout berantai.
Kelebihan ini ialah: selepas kod yang akan dilaksanakan oleh pemasa sebelumnya dilaksanakan dan menunggu selama 200ms, pemasa baharu dicipta dan kod pemasa ditambah pada baris gilir untuk pelaksanaan: kod pemasa tidak akan dilangkau; mungkin terdapat selang antara pelaksanaan kod antara pemasa (mengikut tetapan anda sendiri).
setTimeout(function(){ //要执行的代码 setTimeout(arguments.callee,2000); },2000); setInterval(function(){ //要执行的代码 },200);
Di atas ialah kandungan tetingkap penyegaran biasa SetTimeout pemasa JavaScript dan penutupan tetingkap (kodnya sangat mudah)_kemahiran javascript lebih banyak kandungan berkaitan Laman web PHP Cina (www.php.cn)!