Очередность show/hide
Всем привет.
Два эффекта выполняются одновременно: $("#div1").hide(); $("#div2").show(); Подскажите пожалуйста, можно ли сделать так, чтобы сначала выполнялась одна функция (hide) и только после завершения - вторая. |
$("#div1").hide(function() { $("#div2").show(); }); |
Спасибо.
А возможно ли без взаимной вложенности это реализовать? |
$("#div1").hide(500); $("#div2").delay(500).show(); В .delay() нужно указать время за которое выполняется первая анимация. |
Работает. Но задержка - это по сути имитация очередности.
Дело в том, что я не знаю заранее сколько эффектов будет в цепочке. Может быть, можно ли сделать что-нибудь, типа $().animate({}, function(){$("#div1").hide();}); $().animate({}, function(){$("#div2").show();}); ну или выполнить что-то в этом роде... Чтобы эффекты анимации для разных объектов выполнялись друг за другом? |
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> $(document).ready(function() { var o=$("#test") o.queue(function (){ $(this).hide(500).dequeue(); }); o.queue(function (){ $(this).show(500).dequeue(); }); }); </script> </head> <body> <div id='test'>Test...</div> </body> </html> |
$.when($('#div1').hide(), $('#div3').hide(), $('#div4').hide()).done(function() {$('#div2').show()}); |
walik, автор просил без вложения эффекты вызывать... ;)
И что это за метод when()? :-? Его описания нет в http://jquery-docs.ru/ :( |
Цитата:
Цитата:
Правильней искать в официальной документации :) |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 16:26. |