jQuery: setInterval

Я хочу сделать слайд-шоу на моем сайте, но проблема в том, что setInterval работает только один раз. Он загружает мой файл только один раз, а затем останавливается.

Вот код: main.html

  $(document).ready(function(){ var refreshId = setInterval(function(){ $('#center').load('images/gallery/best/rotate.php'); }, 5000); });  

rotate.php

 <img src="https://stackoverflow.com/questions/4355076/jquery-setinterval/images/gallery/best/random.php?".."" width="800" height="377" alt=""> 

random.php содержит код, который загружает случайное изображение из выбранной папки, он работает хорошо.

Забыл упомянуть, я тоже включил лайтбоксы. Может быть, они не работают вместе?

Глава:

        

Благодарю.

  

Как насчет этого?

редактировать

Извините, я имел в виду, что вы должны просто рандомизировать фотографии в функции setInterval. Как показано выше. Вместо rotate.php; просто загрузите random.php.

Расширяя мой комментарий, если это проблема кэширования, вы можете обновить свой код с помощью

  

Это приведет к тому, что URL-адрес будет отличаться по каждому запросу и, следовательно, позволит избежать проблемы с кэшированием.

Там проблема не в setInterval , это кеширование изображения. Когда тег изображения загружен, он выглядит точно так же, как раньше. Браузер не загружает изображение снова, он просто использует тот, который уже загружен.

Если вы хотите снова загрузить изображение, измените параметр rotate.php чтобы включить в URL-адрес счетчик или случайное число, возвращая то, что, например, выглядит следующим образом:

  

Меняя URL-адрес при каждом загрузке тега, браузер должен каждый раз загружать новое изображение.

Вероятно, проблема заключается в том, что браузер загрузил random.php в кеш. Я думаю, вам лучше дать каждому изображению собственный URL-адрес и использовать его. Тогда php-страница может представить только src:

 var refreshId = setInterval(function () { $.get('random-src.php', function (result) { $('#center>img').attr('src') = result; },'text'); },5000); 

Тогда random.php мог бы вернуть img/img1.jpg , img/img2.jpg и т. Д. В случайном порядке.

Кроме того, вы можете использовать header("Cache-Control: no-cache, must-revalidate"); в верхней части вашего файла random.php, чтобы предотвратить кеширование браузера.