2013-06-07 1 views
1

Простой вопрос: мне нужна эта функция для бесконечного цикла. Я пробовал setTimeout (я добавил время для выполнения всех шагов).Мне нужна эта функция jQuery для цикла

<script type="text/javascript"> 
    $(document).ready(function slideshow(){ 
    $('#slide1').show(500).delay(500) 
     .animate({width:'240px'}).delay(500) 
     .animate({height:'50px', width:'410px'}).delay(1500) 
     .hide(500) 
    }); 
</script> 
+2

Вы не должны быть готовы к циклу, чего вы хотите достичь? – Kishore

+0

вы можете использовать setInterval вместо setTimeout тоже – igor

+0

setTimeout следует использовать для более высокой точности –

ответ

4

Попробуйте

jQuery(function($){ 
    function anim(){ 
     $('#slide1').show(500).delay(500) 
     .animate({width:'240px'}).delay(500) 
     .animate({height:'50px', width:'410px'}).delay(1500) 
     .hide(500, function(){ 
      setTimeout(anim, 500) 
     }) 
    } 
    anim(); 
}) 
+0

эй, я пробовал, что он петли, но запутывает порядок анимации после запуска в первый раз: / –

0
setInterval(function() { 
    $('#myelem').stop().animate({ changes }, 500); 
}, 1000); 

Каждых второй ваш элемент с одушевленным с любыми свойствами вы хотите. Вы может использовать setTimeout, хотя setInterval is предназначенный для зацикливания. Либо работает.

Ключевое различие с моим ответом - использование stop(). Он останавливает предыдущую анимацию, предотвращая любые странные ошибки с удвоением.