Photoswipe тот же исходный код, но вывод не работает

У меня есть этот фрагмент кода, который обновляет содержимое ul.

Он работает при первой загрузке, когда содержимое ul загружается напрямую, но я создаю новый контент каждые 10 секунд, чтобы пользователь всегда мог получить новый контент.

Исходный код контента, доставляемого вызовом javascript, точно такой же, как и при первой загрузке. Тогда также вызов javascript не работает

Javascript:

<script type="text/javascript">
    setInterval(function() {
        $("#vbar").load(location.href+" #vbar>*","");
    }, 10000);
</script>

HTML-код:

<ul  id="vbar" class="gallery">           
    <li>
        <a href="http://i2.listal.com/image/3550836/600full-taylor-swift.jpg" rel="external">Taylor Swift  </a>
    </li>
    <li>
        <a href="http://i2.listal.com/image/303530/600full-jessica-lange.jpg" rel="external">Jessica Lange  </a>
    </li>
    <li>
        <a href="http://i2.listal.com/image/2844304/600full.jpg" rel="external">  </a>
    </li>
    <li>
        <a href="http://i2.listal.com/image/524086/600full-caroline-ribeiro.jpg" rel="external">Caroline Ribeiro  </a>
    </li>
    <li>
        <a href="http://i2.listal.com/image/2402821/600full-francine-dee.jpg" rel="external">Francine Dee  </a>
    </li>                
</ul>

Я пробовал без кеша и использовал этот код в заголовке, тогда тоже бесполезно

    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />

живой код здесь

    http://www.way2enjoy.com/touch/w2et/newphoto12.php

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


person Priya    schedule 06.02.2014    source источник
comment
возможный дубликат JQuery, setTimeout не работает   -  person Michel Ayres    schedule 06.02.2014


Ответы (1)


Я бы использовал jQuery ready.

Что-то типа

<script type="text/javascript">
$(document).ready(function(){
    setInterval(function() {
        $("#vbar").load(location.href+" #vbar>*","");
    }, 10000);
});
</script>

НО, лучший способ объясняется @Cletus в его ответе.

В примере есть карусель, на которую вы ссылаетесь в разделе комментариев проблема сейчас в том, что в карусели setTimeout не обновляет карусель

Решения:

  • Создайте массив для хранения ВСЕХ изображений, которые обновляются.
  • Обновите imgs в карусели, вызвав карусель в setTimeout

В обоих нужно посмотреть, не блокирует ли код в карусели код таймаута. Проверьте с помощью инструментов разработчика Chrome или даже с помощью alert('test');.

person Michel Ayres    schedule 06.02.2014
comment
Если бы это был .Net, я бы сказал использовать [управление запросами страниц (также известное как prm)][stackoverflow.com/questions /4433458/ - person Michel Ayres; 06.02.2014
comment
где вы использовали live/on в предоставленном вами коде. в моем случае это не сработало. Он дает тот же результат, что и мой рассматриваемый код. - person Priya; 07.02.2014
comment
Моя ошибка, я прочитал одну вещь, не имеющую никакого отношения к вашей проблеме, и вместо этого последовал за ней. Я исправляю это для вас. - person Michel Ayres; 07.02.2014
comment
см. эту страницу, это именно то, что вы сказали, но это не работает. ранее я также мог обновлять контент, но я хочу, чтобы он использовался, когда пользователи просматривают изображения way2enjoy.com/touch/w2et/newphoto12.php - person Priya; 07.02.2014
comment
1. Хорошие картинки вон там. 2. У меня сработало (обновление вне карусели изображений). 3. Вероятно, код карусели блокирует первую. Попробуйте добавить функцию для вызова обоих (карусель + setTimeout). и функция с setTimeout (поэтому вам не нужно копировать свой код) - person Michel Ayres; 07.02.2014
comment
давайте продолжим это обсуждение в чате - person Priya; 07.02.2014