В дополнение к ответу Ishmaeel метод OpenMappedMachineConfiguration()
будет всегда возвращаться Configuration
объект. Таким образом для проверки, чтобы видеть, загрузилось ли это, необходимо проверить HasFile
свойство, где верный означает, что это прибыло из файла.
Проблема заключается в вашей первой анимации div # GroupDiv, поэтому ваша первоначальная проверка if (! $ ("# Div2 .tab"). Is (': animated'))
будет ложным, пока groupDiv не завершит анимацию и не запустится обратный вызов.
Вы могли бы попробовать
if (!$("#div2 .tab").is(':animated') && !$("#GroupDiv").is(':animated'))
, но я сомневаюсь, что это будет касаться действительно быстрого нажатия. Самый безопасный - отменить привязку события, используя
$ (this) .unbind ('toggle'). Unbind ('click');
в качестве первой строки внутри if, и затем вы можете отказаться от анимированной проверки . Обратной стороной этого является то, что вам придется выполнить повторную привязку, используя обратный вызов, который вы передаете своим пользовательским функциям анимации.
Вы можете легко отключить ваши ссылки во время анимации
$('a').click(function () {
if ($(':animated').length) {
return false;
}
});
Вы, конечно, можете заменить селектор $ ('a')
так, чтобы он соответствовал только некоторым ссылкам.
Анимация чего-то, на что можно нажимать несколько раз, - это то, на что следует обратить внимание, потому что это подвержено ошибкам. Я так понимаю, у вас проблема в том, что анимации выстраиваются в очередь и выполняются, даже если вы перестали нажимать. Я решил использовать функцию stop () для элемента.
Синтаксис: jQuery (selector) .stop (clearQueue, gotoEnd) // оба параметра являются логическими
Подробнее
Когда я нажимаю кнопку, я сначала останавливаю анимацию и очищаю очередь, а затем перехожу к определению новой анимации для нее. gotoEnd может оставаться false (значение по умолчанию), но вы можете попробовать изменить его на true, если хотите, результат может вам понравиться.
Пример использования: jQuery ('button # clickMe'). stop (true) .animate ({left : + = 10}).