Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2012, 01:44
Интересующийся
Отправить личное сообщение для Gesandte Посмотреть профиль Найти все сообщения от Gesandte
 
Регистрация: 13.12.2011
Сообщений: 26

Не срабатывает анимация при повторном вызове.
В общем при первичном вызове блок успешно раскрывается и сворачивается в исходное положение, но при повторном вызове вся анимация отваливается....как быть?

/* window */
				var x;
				var y;

				// show
				$(".portfolio__cover").click(function() {
					// получаем координаты
					var offset = $(this).offset();
					x = offset.left;
					y = offset.top;

					var el = $(this).siblings('div.portfolio__content')

					$(el)
						.css({
							left: x,
							top: y
						})
						.addClass("active")
						.animate({width: '100%', left: '0'}, 300)
						.animate({height: '100%', top: '0'}, 300);
				});

				// hide
				$("a.close").click(function() {
					var el = $(this).parent("div.portfolio__content");

					$(el)
						.animate({height: '15em', top: y}, 300)
						.animate({width: '20%', left: x}, 300);

						$(el).queue(function () {
							$(el).removeClass("active");
							$(el).removeAttr("style");
						});

					return false;
				});
			});
Ответить с цитированием
  #2 (permalink)  
Старый 18.11.2012, 14:27
Интересующийся
Отправить личное сообщение для Gesandte Посмотреть профиль Найти все сообщения от Gesandte
 
Регистрация: 13.12.2011
Сообщений: 26

ссылку забыл)

http://mfrolov.1gb.ru/index.php?q=portfolio
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2012, 16:32
Интересующийся
Отправить личное сообщение для Gesandte Посмотреть профиль Найти все сообщения от Gesandte
 
Регистрация: 13.12.2011
Сообщений: 26

вариантов нет?
Ответить с цитированием
  #4 (permalink)  
Старый 23.11.2012, 17:58
Профессор
Отправить личное сообщение для Hoshinokoe Посмотреть профиль Найти все сообщения от Hoshinokoe
 
Регистрация: 08.01.2012
Сообщений: 253

Gesandte,

На сколько я вижу вы неправильно используете queue метод.
Попробуйте вместо него добавить обычный коллбэк в animate.

$("a.close").click(function () {
    var el = $(this).parent('div.portfolio__content');
    $(el)
    .animate({ height: width, top: y }, 300)
    .delay(100)
    .animate({ width: '20%', left: x }, 300, function () {
        $(el).removeClass('active');
        $(el).removeAttr('style');
    });
            
    return false;
});
Ответить с цитированием
  #5 (permalink)  
Старый 23.11.2012, 23:10
Интересующийся
Отправить личное сообщение для Gesandte Посмотреть профиль Найти все сообщения от Gesandte
 
Регистрация: 13.12.2011
Сообщений: 26

Hoshinokoe, спасибо за помощь) все заработало)))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает при отсутствии в теле документа yuriii jQuery 3 06.05.2010 17:45
Открыть в новом окне, а при повторном нажатии обновить то же старое-новое окно libinstyle Events/DOM/Window 2 05.04.2010 20:13
SetTimeout не принимает параметр при повторном вызове 2dkott Общие вопросы Javascript 15 08.09.2009 16:37
Не срабатывает hover при использовании в div IE 6.0 AlexMak (X)HTML/CSS 5 14.05.2009 18:26
Цикличность анимация? SashaBorandi jQuery 1 25.12.2008 09:20