Обновление контента по заданому времени (Ajax)

Print RSS
142

Author
Чатланин
0
Есть index.php и show.php

В show.php есть массив с картинками. Массив может быть любого объема.

Как реализовать на index.php показ всех этих картинок через определенное время без преезагрузки?

В index.php писал что-то такое:

   	function show(showId)  
        {       
                $.ajax({
		    type: "POST",  
                    url: "show.php",
    		    data: "num="+showId,  
                    cache: false,  
                    success: function(html){  
                        $("#tab2").html(html);  
                    }  
                });    alert('!');
		return false;   
        } 

            $('#click2').click(function(){  
            show();  
            setInterval('show(2)',10000);  
            });  

setInterval('show(2)',10000): 2 - номер картинки в массиве, 10000 - интервал, через который эта картинка показывается.

Как сделать это же, но для всех картинок?

Землянин
0
Цикл, и все

Добавлено через 02:58 сек.
for(var i = 1; i <= всего картинок; i++){
bla bla bla, твой код,
setInterval('show(i)',10000):}

если не ошибаюсь
А

Чатланин
0
var cPictures = 0;
setInterval(function(){console.log(cPictures++);}, 10000);

console.log уберешь, это для вывода в консоль
Changed: Алексей (24.03.2012 / 12:55)
Author
Чатланин
0
TRAIL (24 Марта 2012 / 12:28)
Цикл, и все

Добавлено через 02:58 сек.
for(var i = 1; i <= всего картинок; i++){
bla bla bla, твой код,
setInterval('show(i)',10000):}

если не ошибаюсь
А зачем тогда в цикле ставить setInterval, если он сразу прогоняется? Если было что-то sleep, то да, работало бы. Как в JS sleep использовать?

Добавлено через 01:05 сек.
megabit (24 Марта 2012 / 12:54)
var cPictures = 0;
setInterval(function(){console.log(cPictures++);}, 10000);

console.log уберешь, это для вывода в консоль
Что-то вообще не въехал smile
А

Чатланин
0
Еще лучше будет если ты у show.php будешь запрашивать картинку не по номеру (num=?) а cформируешь в show.php логику выдачи изображения

Либо же посылать еще дополнительный запрос и забирать массив изображений

Добавлено через 01:33 сек.
4. -V_o_R_o_N_a-,
понятнее
<head>
 ...
  <script>
      var cPictures = 0;
  </script>
...
</head>
<body onload="setInterval(function(){show(cPictures++);}, 10000);">
...
</body>

Добавлено через 02:14 сек.
можешь зацепиться на событие загрузки документа, как хочешь делай smile
Author
Чатланин
0
5. megabit, num - это ID в таблице.
А

Чатланин
0
6. -V_o_R_o_N_a-, разницы в выборке то это не меняет
Author
Чатланин
0
Придумал такой вариант:

	var i=0;
   	function show()  
        {       
                $.ajax({
		    type: "POST",  
                    url: "show.php",
    		    data: "num="+i,  
                    cache: false,  
                    success: function(html){  
                        $("#content2").html(html);  
                    }  
                });    alert(i);
		return false; 
	i++;  
        } 

              
            $('#click2').click(function(){  
    
            	setInterval('show()',1000);
		  
            }); 

Почему alert всегда выводит 1?
А

Чатланин
0
 return false; 
    i++;   
:-D
Author
Чатланин
0
megabit (24 Марта 2012 / 13:45)
 return false; 
    i++;   
:-D
Ох ты блин, не заметил)) Не внимательный. Спасибо.

Проблема решена моим способом.
Stickers / Tags / Rules / Top topics / Top Posts / Search