2010-06-23 2 views
0

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

Основная проблема, с которой я сталкиваюсь, - если вы на короткое время достаточно быстро нажмете на разных участках, она в течение короткого времени выбьет весь аккордеон, который на самом деле не был бы достаточно хорош.

я попытался поставить

если ($ ("# аккордеон уль Ли") есть (. ': Анимированные')) {

вокруг функции мыши, но, похоже, ничего не делать, может ли кто-нибудь дать мне руку помощи или сказать мне, если это возможно?

Также вы заметите, что при нажатии на правую сторону аккордеона немного сжимается, это исправление или что-то, что мне придется смириться?

Вы можете посмотреть, что я имею в виду здесь http://dev.boomeranginternet.co.uk/accordion/accordion1.asp

Заранее спасибо за любую помощь.

С уважением, J.

ответ

0

, поставив вокруг функции мыши вы имеете в виду, как это?

if ($("#accordion ul li").is(":animated")) { 

    } else { 
     $("#accordion ul li").click(function() { 
      // do animation 
     }): 
    } 

Это неверный путь, функция click определяет обработчик события. если вы хотите, чтобы ваша анимация работала только до тех пор, пока никакая другая анимация не запускается, вы должны проверить внутри своего обработчика событий, например.

$("#accordion ul li").click(function() { 
    if ($("#accordion ul li").is(":not(animated)")) { 
     // do animation 
    } 
}): 
+0

Спасибо за ответ. Я получаю синтаксическую ошибку: рядом с не с этим. – JBoom

+0

@JBoom sry я пропустил двойные кавычки, синтаксис должен быть правильным сейчас –

+0

Спасибо marc, очень ценится. – JBoom

2

Попробуйте что-то вроде этого InstEd:

$("#accordion ul li").click(function(){ 
    if ($(':animated').length) { 
     return false; 
    } 

    //Your code goes here... 
}); 
+0

Большое спасибо, что, похоже, сделали трюк! Я перезагрузил файл на случай, если вы заинтересованы. Также есть идеи относительно небольшого уменьшения ширины (вы можете заметить это с правой стороны) во время анимации? Еще раз спасибо. – JBoom

Смежные вопросы