Я пытаюсь сделать повторяющуюся анимацию с помощью jQuery. Я использовал while
цикл с условием, установленным в true
, но я думаю, что браузер не нравится.
Каков способ сделать это правильно?
$('.test').click(function () {
while (true) {
$(this).hide(1000);
$(this).show(1000);
}
});
Вам нужно написать функцию, которая сама по себе является обратным вызовом. Это то, как вы зацикливаете функцию.
$('.test').click(fadeIt);
function fadeIt() {
$('.test').hide(1000, function() {
$('.test').show(1000, fadeIt);
});
}
Этого должно быть достаточно:
$('.test').click(doMe);
function doMe(){
$(this).hide(1000).show(1000, doMe);
}
jQuery анимация очереди для вас.
function h() { $(this).hide(1000, s); };
function s() { $(this).show(1000, h); };
$('.test').click(h);
Или, без анимации width/height, которая скрывает/показывает, создается при указании продолжительности, поэтому вы получаете больше эффекта blink: пример jsFiddle