Saya ingin menambah kelas, tunggu 2 detik dan tambahkan kelas lain.
.addClass("load").wait(2sec).addClass("done");
Apakah ada cara
setTimeout akan mengeksekusi beberapa kode setelah penundaan beberapa periode waktu (diukur dalam milidetik). Namun, catatan penting: karena sifat javascript, kode lainnya terus berjalan setelah pengatur waktu diatur:
$('#someid').addClass("load");
setTimeout(function(){
$('#someid').addClass("done");
}, 2000);
// Any code here will execute immediately after the 'load' class is added to the element.
Itu akan menjadi
.delay()
.http://api.jquery.com/delay/
Jika Anda melakukan hal-hal AJAX, Anda seharusnya tidak langsung menulis "selesai" secara otomatis, Anda harus benar-benar menunggu tanggapan dan melihat apakah itu benar-benar selesai.
sumber
.removeClass('load')
jika tidak menambahkan kedua kelas memuat dan selesai, yang mungkin tidak diinginkan. Jika Anda memang menunggu tindakan asinkron selesai, taruhan terbaik Anda adalah melakukan .addClass KETIKA selesai dan berhasil, jika tidak .addClass ('error') mungkin merupakan idedelay () tidak akan melakukan pekerjaan itu. Masalah dengan delay () adalah itu bagian dari sistem animasi, dan hanya berlaku untuk antrian animasi.
Bagaimana jika Anda ingin menunggu sebelum menjalankan sesuatu di luar animasi ??
Gunakan ini:
Apa yang terjadi ?: Dalam skenario ini menunggu 600 milidetik sebelum menjalankan kode yang ditentukan dalam kurung kurawal.
Ini sangat membantu saya setelah saya mengetahuinya dan berharap ini akan membantu Anda juga!
PEMBERITAHUAN PENTING: 'window.setTimeout' terjadi secara asinkron. Ingatlah hal itu saat menulis kode Anda!
sumber
Sadarilah bahwa ini adalah pertanyaan lama, tetapi saya menulis plugin untuk mengatasi masalah ini yang mungkin berguna bagi seseorang.
https://github.com/madbook/jquery.wait
memungkinkan Anda melakukan ini:
sumber
Ada sebuah fungsi, tapi ini ekstra: http://docs.jquery.com/Cookbook/wait
Cuplikan kecil ini memungkinkan Anda menunggu:
sumber
Anda dapat menggunakan
.delay()
fungsinya.Inilah yang Anda kejar:
sumber
Plugin xml4jQuery memberikan metode sleep (ms, callback). Rantai yang tersisa akan dieksekusi setelah periode tidur.
sumber
Menggunakan fungsi setTimeout, misalnya Kunjungi di sini misalnya
sumber