2011-11-23 2 views
3

Можно создать дубликат:
Do something every 5 seconds and the code to stop it. (JQuery)команда Программа будет называться каждые 5 секунд

У меня есть галерея, где я хочу, чтобы автоматически запускать без меня использовать его.

Как я могу запустить скрипт, который вызывает это каждые 5 секунд или около того на этом http://www.meadmiracle.com/SlidingGalleryDemo1.htm

мне это нужно, чтобы вызывалась каждые 5 секунд или около bsaically поэтому галерея выглядит она автоматически прокручивается.

$.galleryUtility.slideLeft() 

ответ

5

Вы нужно использовать setInterval методу

<script type="text/javascript"> 
    $(window).load(function(){ 
     setInterval(function(){ 
      $.galleryUtility.slideLeft() ; 
     }, 5000); 
    }); 
</script> 

Обновление

В вашем конкретном случае, вы должны добавить его сразу после инициализации галереи.

<script language="javascript" type="text/javascript"> 
    $(function() { 
     $('div.gallery img').slidingGallery(); // add it right after this line of you existing code 
     setInterval(function(){ 
      $.galleryUtility.slideLeft() ; 
     }, 5000); 
    }); 
</script> 

Update 2

Чтобы начать остановить autoslide вам нужно будет очистить интервал, и для этого вам нужна ссылка на возвращаемом значение из setInterval вызова.

<script type="text/javascript"> 
    var autoSlideInterval; 

    function start_autoslide(){ 
     autoSlideInterval = setInterval(function(){ 
      $.galleryUtility.slideLeft() ; 
     }, 5000); 
    } 

    function stop_autoslide(){ 
     clearInterval(autoSlideInterval); 
    } 

    $(function() { 
     $('div.gallery img').slidingGallery(); 
     start_autoslide(); 
    }); 

</script> 

теперь, когда вы хотите, чтобы звезда автоматическое слайд вы звоните start_autoslide(); и когда вам нужно остановить его можно назвать stop_autoslide();

+0

Так что я прилагаю это в <скрипт типа = 'текст/JavaScript'> – mystycs

+0

@mystycs, да. И лучше всего сделать это после загрузки изображений .. обновление ответа .. –

+0

@mystycs Да, это все еще javascript afterall. –

1
var id = setInterval(function() 
{ 
    $.galleryUtility.slideLeft(); 
}, 5000); 

Каждые 5 секунд это будет называться. Если вам нужно, чтобы он останавливается на какой-то момент или состояние тогда называли следующие:

clearInterval(id); //You must pass in the id that was returned after calling setInterval() 

Разъяснение:

При вызове setInterval() он фактически возвращает целое значение ID. Вы сохраняете это и передаете его в clearInterval(**id goes here**), чтобы остановить дальнейшие исполнения этого кода.

+0

Подождите, мне тоже это нужно. как именно я делаю так, чтобы, если я нажму на галерею, это остановит авто? Это что-то хорошее. – mystycs

+0

@mystycs Сохраните идентификатор, который он возвращает. Затем, когда они нажимают на галерею, вызовите 'clearInterval (id)' и передайте сохраненный идентификатор. –

+0

Позвольте мне попробовать это im для javascript – mystycs

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