Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2011, 13:20
Новичок на форуме
Отправить личное сообщение для dddaaa11 Посмотреть профиль Найти все сообщения от dddaaa11
 
Регистрация: 21.10.2011
Сообщений: 9

Очередность show/hide
Всем привет.

Два эффекта выполняются одновременно:
$("#div1").hide();
$("#div2").show();


Подскажите пожалуйста, можно ли сделать так, чтобы сначала выполнялась одна функция (hide) и только после завершения - вторая.
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2011, 13:24
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$("#div1").hide(function() {
   $("#div2").show();
});
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2011, 13:28
Новичок на форуме
Отправить личное сообщение для dddaaa11 Посмотреть профиль Найти все сообщения от dddaaa11
 
Регистрация: 21.10.2011
Сообщений: 9

Спасибо.
А возможно ли без взаимной вложенности это реализовать?
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2011, 13:43
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$("#div1").hide(500);
$("#div2").delay(500).show();

В .delay() нужно указать время за которое выполняется первая анимация.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2011, 13:55
Новичок на форуме
Отправить личное сообщение для dddaaa11 Посмотреть профиль Найти все сообщения от dddaaa11
 
Регистрация: 21.10.2011
Сообщений: 9

Работает. Но задержка - это по сути имитация очередности.
Дело в том, что я не знаю заранее сколько эффектов будет в цепочке.

Может быть, можно ли сделать что-нибудь, типа

$().animate({}, function(){$("#div1").hide();});
$().animate({}, function(){$("#div2").show();});


ну или выполнить что-то в этом роде... Чтобы эффекты анимации для разных объектов выполнялись друг за другом?
Ответить с цитированием
  #6 (permalink)  
Старый 21.10.2011, 14:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от dddaaa11
можно ли сделать что-нибудь, типа
Как вариант вот такого типа...

<!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>
Ответить с цитированием
  #7 (permalink)  
Старый 21.10.2011, 14:50
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$.when($('#div1').hide(), $('#div3').hide(), $('#div4').hide()).done(function() {$('#div2').show()});
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #8 (permalink)  
Старый 21.10.2011, 14:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

walik, автор просил без вложения эффекты вызывать...

И что это за метод when()? Его описания нет в http://jquery-docs.ru/
Ответить с цитированием
  #9 (permalink)  
Старый 21.10.2011, 15:34
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Сообщение от ksa
walik, автор просил без вложения эффекты вызывать...
Здесь нет вложения эффектов) тут вызываются все эффекты и указывается функция которая будет выполнена по окончанию все цепочки эффектов)

Сообщение от ksa
И что это за метод when()? Его описания нет в http://jquery-docs.ru/
http://api.jquery.com/jQuery.when/
Правильней искать в официальной документации
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #10 (permalink)  
Старый 21.10.2011, 15:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от walik
Здесь нет вложения эффектов)
Тогда покажи как это будет выглядеть если эффектов будет (нпример) 4...

Сообщение от walik
Правильней искать в официальной документации
Там по аглицки...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Show/hide menu Vigilyanskiy Элементы интерфейса 3 24.07.2011 21:58
проблемам с ложными срабатываниями show()/hide() minamoto jQuery 2 12.07.2011 15:43
Проблема с show()/hide() Dorian_bs Общие вопросы Javascript 14 11.04.2011 11:16
Show/Hide Content + «Переключатель» — Как? L0ci Events/DOM/Window 3 11.02.2011 02:26
Object и очередность доступа к свойствам Shasoft Общие вопросы Javascript 3 13.03.2009 11:42