Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обновление изображения на странице на ajax
 
 автор: Ильдар   (09.11.2007 в 13:18)   письмо автору
 
 

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


<td height="100%" valign="middle" align="center" width="100%"id="chat_text"><img id="responseText" src="img.php" /></td>


нужно обновлять img.php , думаю это только на ajax можно сделать

   
 
 автор: Shiva   (09.11.2007 в 13:42)   письмо автору
 
   для: Ильдар   (09.11.2007 в 13:18)
 

Да нет, вам, собственно, ajax здесь не нужен.

Вызвайте по таймеру функцию, которая будет изменять значение атрибута src у изображения. Что-то вроде img.php?image=1, потом img.php?image=2 и т.д.

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

   
 
 автор: Ильдар   (09.11.2007 в 13:53)   письмо автору
 
   для: Shiva   (09.11.2007 в 13:42)
 

Я просто хочу чтоб они менялись как сделано здесь:
http://smoothgallery.jondesign.net/showcase/gallery/

   
 
 автор: Shiva   (09.11.2007 в 14:32)   письмо автору
 
   для: Ильдар   (09.11.2007 в 13:53)
 

Я вас именно так и понял. Мой совет вас чем-то не устроил?

   
 
 автор: AlexSol   (09.11.2007 в 14:33)   письмо автору
 
   для: Ильдар   (09.11.2007 в 13:53)
 

а почему бы просто оттуда не скачать?

   
 
 автор: sim5   (09.11.2007 в 14:36)   письмо автору
 
   для: Ильдар   (09.11.2007 в 13:53)
 

А с чего вы решили что там AJAX? Все сделано на JS с использованием фильтров.

   
 
 автор: Ильдар   (10.11.2007 в 10:02)   письмо автору
 
   для: sim5   (09.11.2007 в 14:36)
 

Сделал я такую вещь:


<script language="JavaScript"> 
pic = new Array() 
for(i=0;i<2;i++) 

pic[i] = new Image(); 
if(i==0) pic[i].src = "img.php"; 
if(i==1) pic[i].src = "img.php";

n=0; 
function rand() 

n++; if(n>1) n=0; 
document.images["tool"].src = pic[n].src; 
setTimeout("rand()",5000); 

</script>
<body onLoad="rand()">
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
  <tr>
    <td height="100%" valign="middle" align="center" width="100%">
    <IMG SRC="img.php" NAME="tool">
    </td>
  </tr>
</table>


Вот в IE работает, рисунок обновляется, а вот в опере не хочет работать!

   
 
 автор: Ильдар   (10.11.2007 в 11:36)   письмо автору
 
   для: Ильдар   (10.11.2007 в 10:02)
 

Может кто подсказать что с оперой делать?

   
 
 автор: bronenos   (10.11.2007 в 11:58)   письмо автору
 
   для: Ильдар   (10.11.2007 в 11:36)
 

for (i=0; i<2; i++)
{  
  pic[i] = new Image();
  pic[i].src = "img.php?" + i;
}

   
 
 автор: Ильдар   (10.11.2007 в 13:25)   письмо автору
 
   для: bronenos   (10.11.2007 в 11:58)
 

Спасиб, работает!

   
 
 автор: Ильдар   (10.11.2007 в 14:15)   письмо автору
 
   для: Ильдар   (10.11.2007 в 13:25)
 

Только в опере кэшировала картинку, справился так:

<script language="JavaScript">
var curTime;
function showTime()
{
    now = new Date();
    day = now.getDate();
    month = now.getMonth()+1;
    hours = now.getHours();
    minutes = now.getMinutes();
    seconds = now.getSeconds();
    curTime = month + "-" + day + "-" + hours + "-" + minutes + "-" + seconds;
    setTimeout("showTime()",1000);
}
now = new Date();
function rand()  
{  
document.images["tool"].src = "img.php?id=" + curTime;  
setTimeout("rand()",5000);

</script>


Теперь всё чикипуки)))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования