Rumah >hujung hadapan web >tutorial js >Bagaimanakah Anda Boleh Mencipta Fungsi Tak Segerak Tersuai dalam JavaScript Tanpa Menggunakan `setTimeout()`?
Membuka Kunci Gelagat Tak Segerak dalam JavaScript
Seperti yang dicontohkan oleh kod yang disediakan, fungsi tak segerak boleh digabungkan ke dalam JavaScript untuk "membatalkan" aliran pelaksanaan . Walau bagaimanapun, persoalan timbul: bagaimanakah fungsi tak segerak tersuai boleh dibuat tanpa menggunakan setTimeout()?
Realiti Fungsi Tak Segerak dalam JavaScript
Walaupun ia kelihatan seperti seseorang boleh mencipta fungsi tak segerak tersuai sepenuhnya, itu tidak mungkin sepenuhnya. Pada satu ketika, teknologi asli mesti dimanfaatkan, seperti:
Dalam kes animasi jQuery, misalnya, setInterval digunakan untuk mencapai tingkah laku tak segerak.
Merangkul Mekanisme Tak Segerak Asli
Oleh itu, kunci untuk mencipta fungsi tak segerak tersuai terletak pada pemahaman dan penggunaan mekanisme asli ini. Berikut ialah beberapa contoh praktikal:
Untuk contohnya, untuk mencipta fungsi "animate" tak segerak tersuai, seseorang boleh menggunakan pemasa, seperti berikut:
<code class="javascript">function animate(element, options, callback) { // Define the animation duration const duration = options.duration || 2000; // Set up a timer to gradually change the element's width const intervalID = setInterval(function() { // Perform some animation logic here // Incrementally change the element's width element.width += 10; // If the desired width has been reached, clear the timer and execute the callback if (element.width >= options.width) { clearInterval(intervalID); callback && callback(); } }, duration / 10); } // Example usage $('#link').click(function() { console.log("Enter"); animate($('#link'), { width: 200 }, function() { console.log("finished"); }); console.log("Exit"); });</code>
Dengan menggunakan teknik asli seperti setInterval, anda boleh mencipta fungsi tak segerak tersuai yang disepadukan dengan lancar ke dalam acara JavaScript mekanisme pengendalian.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Mencipta Fungsi Tak Segerak Tersuai dalam JavaScript Tanpa Menggunakan `setTimeout()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!