Выполнение анимации только строго по нажатию кнопки
Здравствуйте, незнаю как это описать даже, постараюсь объяснить, скорее всего этот вопрос уже задавался, ситуация банально простая. Например элементарная функция slideToggle() и баттон, которая её вызывает. Так вот попробуйте быстро понажимать на кнопку $("button") и увидите как весело получается. :blink:
$("button").click(function () { $("p").slideToggle("slow"); }); Мне же нужно сделать так, чтобы пока анимация не выполнится, $("button") вела себя словно её нет, или была неактивная. Как это можно сделать, пробовал на 1 или 0 помудрить, ничего хорошего не вышло. Помогите избавиться от этого, спасибо. |
$("button").click(function () { var $who = $(this); if (!$who.data('DO')) { $who.data('DO', 'yes'); $("p").slideToggle("slow", function() {$who.removeData('DO')}); } }); |
$("button").click(function () { $("p:not(:animated)").slideToggle("slow"); }); |
subzey опередил меня:) , я тут спешил еще с вариантом:
$("button").click(function () { if ($("p").queue().length == 0) $("p").slideToggle("slow"); }); |
micscr, спасибо!!! :) только пришлось отказаться от slideToggle() в пользу toggle() из за скачка , который, думаю, все знают... Правда если указать высоту элементу в цсс, тогда только всё нормально, пробывал поставить высоту через height()- работает, но криво он её высчитывает как то.., а блок который слайдтуглится динамический по высоте .... Интересно, с слайдтуглом можно что то придумать?..спасибо
|
Часовой пояс GMT +3, время: 17:57. |