Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh menukar selang kaedah setinterval() semasa runtime menggunakan JavaScript?

Bagaimanakah saya boleh menukar selang kaedah setinterval() semasa runtime menggunakan JavaScript?

PHPz
PHPzke hadapan
2023-09-07 23:45:10950semak imbas

Kaedah

如何使用 JavaScript 在运行时更改 setinterval() 方法的时间间隔?

setInterval() digunakan untuk memanggil blok kod tertentu berulang kali selepas selang masa tertentu yang dinyatakan sebagai parameter dalam kurungan. Kaedah setInterval() menerima dua parameter Parameter pertama ialah kod yang perlu dilaksanakan berulang kali, dan parameter kedua ialah masa kod perlu dilaksanakan semula.

Dalam artikel ini, kita akan mempelajari cara untuk menukar selang masa kaedah setInterval() pada masa jalan. Dengan cara ini, ia akan melaksanakan kod yang diberikan pada selang masa yang tidak teratur atau berubah-ubah.

JavaScript menyediakan kita dengan dua kaedah terbina dalam yang berbeza untuk menukar selang masa kaedah setInterval() seperti yang ditunjukkan di bawah -

  • Gunakan kaedah clearInterval().

  • Gunakan kaedah setTimeout().

Mari kita ketahui lebih lanjut tentang prinsip kerja dan pelaksanaan kedua-dua kaedah ini.

Gunakan kaedah clearInterval()

Kaedah

clearInterval() digunakan untuk mengosongkan atau menghentikan fungsi setInterval() yang dilaksanakan sebelum ini. Kita boleh menggunakan kaedah ini untuk menukar selang masa kaedah seInterval() dengan memanggil fungsi ini di dalam fungsi yang dihantar ke setInterval() dan ia akan mengosongkan kaedah setInterval() yang dipanggil sebelum ini dan menggunakan yang baharu yang akan kami tentukan dalam kod nilai masa.

Tatabahasa

Sintaks berikut akan menunjukkan kepada anda cara menggunakan kaedah clearInterval() untuk mengosongkan kaedah setInterval() sebelumnya -

clearInterval( code to be executed, time interval );

Mari kita benar-benar memahami kaedah ini dan menukar masa kaedah setInterval() menggunakan kaedah clearInterval() dalam JavaScript.

Algoritma

  • Langkah 1 - Dalam langkah pertama, kami akan menambah dua butang berbeza dalam dokumen HTML, satu untuk memulakan selang dan satu lagi untuk menghentikan selang.

  • Langkah 2 - Dalam langkah ini kita akan mendapatkan semua elemen yang diperlukan daripada dokumen HTML menggunakan ID dalam JavaScript untuk melakukan perubahan di dalamnya.

  • Langkah 3 - Dalam langkah seterusnya kita akan mentakrifkan fungsi JavaScript di mana mula-mula kita mengosongkan setInterval() sebelumnya menggunakan kaedah clearInterval() dan kemudian dengan beberapa nilai baharu dan sekali lagi menggunakan fungsi yang kita takrifkan dalam langkah ini Panggil setInterval () kaedah.

  • Langkah 4 - Dalam langkah terakhir, kami akan menentukan satu lagi fungsi JavaScript untuk menghentikan pelaksanaan setInterval() menggunakan kaedah clearInterval().

Contoh

Contoh di bawah akan membantu anda memahami algoritma di atas dengan menggali ke dalam kod -

<html>
<body>
   <h2>Change the Time Interval of setinterval() Method at RunTime using JavaScript</h2>
   <p id = "upper">The below text will print after a certain irregular interval of time every time.</p>
   <button id = "btn" onclick = "start()"> Start Printing </button>
   <button id = "stopbtn" onclick = "stop()"> Stop Printing </button>
   <p id = "print1"> </p>
   <p id = "result"> </p>
   <p id = "print2"> </p>
   <script>
      var result = document.getElementById("result");
      var upper = document.getElementById("upper");
      var printVal1 = document.getElementById("print1");
      var printVal2 = document.getElementById("print2");
      var interval, t = 500;
      function start() {
         printVal1.innerHTML = " Printing Starts: ";
         clearInterval(interval);
         result.innerHTML += " Printed after: <b> " + t + " </b> time. <br> ";
         t = t * 2;
         interval = setInterval(start, t);
      }
      function stop() {
         printVal2.innerHTML = " Printing Ends. ";
         clearInterval(interval);
      }
   </script>
</body>
</html>

Dalam contoh di atas, kami menggunakan kaedah clearInterval() untuk menukar selang masa kaedah setInterval() pada masa jalan menggunakan JavaScript.

Gunakan kaedah setTimeout()

Kaedah

setTimeout() adalah serupa dengan kaedah setInterval(). Ia juga memanggil sekeping kod selepas selang waktu tertentu, tetapi tidak seperti setInterval(), ia hanya melaksanakan kod sekali sahaja dan bukannya berulang kali. Kaedah setTimeout() akan berhenti secara automatik selepas melaksanakan kod sekali, jadi kita tidak perlu memanggil kaedah clearInterval() seperti kaedah setInterval() untuk berhenti melaksanakan selang masa sebelumnya.

Tatabahasa

Gunakan kaedah setTimeout() untuk menukar selang masa mengikut sintaks berikut -

setTimeout( code to be executed, time interval );

Sekarang mari kita lihat pelaksanaan sebenar kaedah ini dengan bantuan contoh kod JavaScript.

Algoritma

Algoritma kaedah ini hampir sama dengan kaedah sebelumnya. Anda hanya perlu melakukan beberapa perubahan kecil seperti yang ditunjukkan di bawah -

  • Alih keluar kaedah clearInterval() daripada fungsi mula() algoritma sebelumnya.

  • Gunakan kaedah setTimeout() untuk menetapkan nilai pembolehubah selang dan bukannya kaedah setInterval() dengan parameter yang sama.

Contoh

Contoh di bawah akan menerangkan penggunaan praktikal kaedah setTimeout dan membantu anda memahami perubahan di atas dalam algoritma sebelumnya yang perlu anda lakukan -

<html>
<body>
   <h2>Change the Time Interval of setinterval() Method at RunTime using JavaScript</h2>
   <p id = "upper">The below text will print after a certain irregular interval of time every time.</p>
   <button id = "btn" onclick = "start()">Start Printing</button>
   <button id = "stopbtn" onclick = "stop()">Stop Printing</button>
   <p id = "print1"> </p>
   <p id = "result"> </p>
   <p id = "print2"> </p>
   <script>
      var result = document.getElementById("result");
      var upper = document.getElementById("upper");
      var printVal1 = document.getElementById("print1");
      var printVal2 = document.getElementById("print2");
      var interval, t = 500;
      function start() {
         printVal1.innerHTML = " Printing Starts: ";
         result.innerHTML += " Printed after: <b> " + t + " </b> time. <br> ";
         t = t * 2;
         interval = setTimeout(start, t);
      }
      function stop() {
         printVal2.innerHTML = " Printing Ends. ";
         clearInterval(interval);
      }
   </script>
</body>
</html>

Dalam contoh ini, kami menggunakan kaedah setTimeout() JavaScript untuk menukar selang masa antara setiap panggilan pada masa jalan menggunakan JavaScript.

Dalam artikel ini, kami mempelajari tentang dua cara berbeza untuk menukar selang masa menggunakan kaedah setInterval(). Kami membincangkan kedua-dua pendekatan secara terperinci dengan teori yang diperlukan dan pelaksanaan praktikal dengan bantuan contoh kod berasingan untuk setiap pendekatan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar selang kaedah setinterval() semasa runtime menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam