Как сделать так, чтобы эффекты jQuery запускались последовательно, а не одновременно?

Как заставить эффекты jQuery запускаться последовательно, а не одновременно?

Должна ли быть цель? Конечно, вы можете использовать случайную цель для последовательной очереди событий, если цель постоянна … ниже я использую родительскую цель для анимации для хранения очереди.

 //example of adding sequential effects through //event handlers and a jquery event trigger jQuery( document ).unbind( "bk_prompt_collapse.slide_up" ); jQuery( document ).bind( "bk_prompt_collapse.slide_up" , function( e, j_obj ) { jQuery(j_obj).queue(function() { //running our timed effect jQuery(this).find('div').slideUp(400); //adding a fill delay to the parent jQuery(this).delay(400).dequeue(); }); }); //the last action removes the content from the dom //if its in the queue then it will fire sequentially jQuery( document ).unbind( "bk_prompt_collapse.last_action" ); jQuery( document ).bind( "bk_prompt_collapse.last_action" , function( e, j_obj ) { jQuery(j_obj).queue(function() { //Hot dog!! jQuery(this).remove().dequeue(); }); }); jQuery("tr.bk_removing_cart_row").trigger( "bk_prompt_collapse" , jQuery("tr.bk_removing_cart_row") ); 

Не уверен, что это возможно, но кажется, что вы можете привязать .dequeue () к запуску при запуске другого события jquery, вместо того, чтобы запускать inline в моем примере выше? эффективно остановить очередь анимации?

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector