Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Обновление картинки по таймеру (https://javascript.ru/forum/events/49592-obnovlenie-kartinki-po-tajjmeru.html)

Viral 20.08.2014 17:20

понятия не имею, у меня в лисе все норм.. может z-index пишется раньше, чем картинка загрузится..

Paha0210 31.08.2016 19:28

Помогите люди.
 
Есть код, помогите реализовать обновление блока по таймеру(проблема в том что обновляется сейчас один раз...я нуб в js): <script>
setInterval(function (){$('#frame').attr('<?php include $_SERVER['DOCUMENT_ROOT'] . "/modul/chat_f.php";?>');}, 3000);
</script>
<div id="frame">
обновляем...
</div>

laimas 31.08.2016 19:37

Цитата:

Сообщение от Paha0210
я нуб в js

Судя по коду большой профи в РНР?

Весь код глупость. $(селектор).attr(имя атрибута) - это получить его значение. А что может определить в качестве имени атрибута сервер, да еще целым подключаемым файлом?

Paha0210 02.09.2016 13:00

Помогите люди.
 
Вопрос то остается... как обновить по таймеру отдельный блок див?

laimas 02.09.2016 13:15

Цитата:

Сообщение от Paha0210
Вопрос то остается

Ну тогда надо думать.

Путь выражение $('#frame').attr будет верным, к примеру $('#frame').attr('myname', value). Это означает, что атрибуту элемента 'myname' будет присвоено значение value, то есть в коде $('#frame').attr('myname', '<?php include $_SERVER['DOCUMENT_ROOT'] . "/modul/chat_f.php";?>');. Вопрос - если /modul/chat_f.php (можно работать и с относительными путями, не обязательно $_SERVER['DOCUMENT_ROOT'] еще), это скрипт возвращающий содержимое, которое должно отражаться в '#frame', то почему вы это содержимое пытаетесь воткнуть в атрибут?

Если бы, к примеру, '#frame' было бы iframe, тогда да - меняя значение его атрибута src можно было бы менять его содержимое. Но в этом случае значением src должен быть url, а не результат выполнения серверного скрипта.

Скорее всего вам нужно это.

Маэстро 05.09.2016 15:27

Цитата:

Сообщение от paveltkachev (Сообщение 326706)
У меня теперь в верхнем левом углу в FireFox постоянно мигает символ отсутствующей картинки. Но скачков кадров больше нет. Отчего так?

Разные браузеры по-разному рендерят картинки. В Google Chrome сильно заметно мерцание. Происходит это в частности потому, что Вы меняете img.src и img.style.zIndex одновременно. А нужно показывать картинку после её полной загрузки.

То есть, необходимо обрабатывать событие img.onload и по нему менять zIndex ("поднимать наверх"), либо при механизме из двух img попеременно менять им свойство display.

Также проблемы возникают при медленном интернете, когда при интервале загрузки 1 сек картинка не успевает загрузиться и в этот момент уже отдается команда на смену её src, т.е. загрузку новой картинки. Избавиться от этого можно опять таки запуском таймера по событию img.onload.
На случай проблем с интернетом/ftp стоит также обрабатывать событие img.onerror и перезапускать таймер.


Часовой пояс GMT +3, время: 19:14.