Saya yakin saya membaca tentang ini beberapa hari yang lalu tetapi sepertinya saya tidak dapat menemukannya di mana pun.
Saya memiliki fadeOut()
acara setelah saya menghapus elemen, tetapi jQuery menghapus elemen sebelum memiliki kesempatan untuk menyelesaikan memudar.
Bagaimana cara membuat jQuery menunggu hingga elemen memudar, lalu menghapusnya?
107
Dengan jQuery versi 1.6 Anda dapat menggunakan
.promise()
metode ini.sumber
promise()
atauwhen()
dandone()
Anda dapat memanfaatkan beberapa perilaku yang sangat keren dari metode pihak ketiga, atau bahkan milik Anda sendiri. 1 untuk berarti.promise()
!$(selector).fadeOut('slow').promise().done(function(){...});
Anda juga bisa menggunakan
$.when()
untuk menunggu sampaipromise
selesai:Jika Anda melakukan permintaan yang juga bisa gagal, Anda bahkan dapat melangkah lebih jauh:
sumber
$.when()
tidak bekerja karenamyEvent()
tidak mengembalikan janji dan$.when()
mengharapkan Anda untuk memberikan satu atau lebih janji untuk melakukan tugasnya.jika itu adalah sesuatu yang ingin Anda alihkan, memudarkan yang satu dan memudarkan yang lain di tempat yang sama, Anda dapat menempatkan atribut {position: absolute} pada div, sehingga animasi diputar di atas satu sama lain, dan Anda tidak memiliki untuk menunggu satu animasi selesai sebelum memulai animasi berikutnya.
sumber