Выполнение анимации только строго по нажатию кнопки
Здравствуйте, незнаю как это описать даже, постараюсь объяснить, скорее всего этот вопрос уже задавался, ситуация банально простая. Например элементарная функция 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, время: 23:46. |