Написал скрипт, суть которого заключается в том, что он отображает вопрос в виде таблицы с заголовком, затем отлавливает клик по элементу таблице (строке), передает атрибут выбранной строчки на последующую обработку, скрывает этот вопрос, а на его месте выводит следующий вопрос из списка и так до конца списка вопросов.
Вопросы я скрываю и затем отображаю новый с помощью jquery методами hide() и show() соответственно. У hide есть анимация (анимация для меня важна) n-секундная.
Проблема в том, что пока эта n-секундная анимация идет, никто не запрещает кликнуть еще много раз по таблице и сломать скрипт, т.к каждый клик отловится.
Как решить эту проблему? Как разрешить кликать по элементу только когда отобразиться новый вопрос.
Сейчас код выглядит так:
<div id="q1" class = "question">
<h3 value='author'>твой любимый мультик?</h3>
<table>
<tr><td value="1" >Аладин</td></tr>
<tr><td value="2">Король и лев</td></tr>
<tr><td value="3">Симпсоны</td></tr>
</table>
</div>
//issues предок вышеуказанного дива.
$('#issues table tr').mousedown(function (){
var selector=this;
var click=$('td:first-child',this).attr('value')//атрибут строчки выбранной.
display(click)// функция которая скрывает вопрос и отображает следующий
}
Есть на мой взгляд несуразный вариант решения: объявить переменную, устанавливать ее в false при клике, а в колбеке hide() устанавливать в тру и проверять каждый раз в false она или в true. Но т.к я привык все разносить по отдельным классам, с наследованием и т.д. Как я считаю такой переменной не место в каком либо из классов)