Javascript.RU

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

Выполнение анимации только строго по нажатию кнопки
Здравствуйте, незнаю как это описать даже, постараюсь объяснить, скорее всего этот вопрос уже задавался, ситуация банально простая. Например элементарная функция slideToggle() и баттон, которая её вызывает. Так вот попробуйте быстро понажимать на кнопку $("button") и увидите как весело получается.


$("button").click(function () {
$("p").slideToggle("slow");
});

Мне же нужно сделать так, чтобы пока анимация не выполнится, $("button") вела себя словно её нет, или была неактивная.
Как это можно сделать, пробовал на 1 или 0 помудрить, ничего хорошего не вышло. Помогите избавиться от этого, спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 27.03.2010, 16:05
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

$("button").click(function () {
  var $who = $(this);
  if (!$who.data('DO')) {
    $who.data('DO', 'yes');
    $("p").slideToggle("slow", function() {$who.removeData('DO')});
  }
});
Ответить с цитированием
  #3 (permalink)  
Старый 27.03.2010, 16:06
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

$("button").click(function () {
	$("p:not(:animated)").slideToggle("slow");
});
Ответить с цитированием
  #4 (permalink)  
Старый 27.03.2010, 16:35
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

subzey опередил меня , я тут спешил еще с вариантом:
$("button").click(function () {
  if ($("p").queue().length == 0) $("p").slideToggle("slow");
});
Ответить с цитированием
  #5 (permalink)  
Старый 27.03.2010, 19:45
Интересующийся
Отправить личное сообщение для vitja Посмотреть профиль Найти все сообщения от vitja
 
Регистрация: 27.03.2010
Сообщений: 17

micscr, спасибо!!! только пришлось отказаться от slideToggle() в пользу toggle() из за скачка , который, думаю, все знают... Правда если указать высоту элементу в цсс, тогда только всё нормально, пробывал поставить высоту через height()- работает, но криво он её высчитывает как то.., а блок который слайдтуглится динамический по высоте .... Интересно, с слайдтуглом можно что то придумать?..спасибо
Ответить с цитированием
Ответ



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

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