Обновление контента по заданому времени (Ajax)
1.
CROWS (24.03.2012 / 12:21)
Есть
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 - интервал, через который эта картинка показывается.
Как сделать это же, но для всех картинок?
2.
TRAIL (24.03.2012 / 12:28)
Цикл, и все
Добавлено через 02:58 сек.
for(var i = 1; i <= всего картинок; i++){
bla bla bla, твой код,
setInterval('show(i)',10000):}
если не ошибаюсь
3.
Алексей (24.03.2012 / 12:54)
var cPictures = 0;
setInterval(function(){console.log(cPictures++);}, 10000);
console.log уберешь, это для вывода в консоль
4.
CROWS (24.03.2012 / 13:09)
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 уберешь, это для вывода в консоль
Что-то вообще не въехал
5.
Алексей (24.03.2012 / 13:11)
Еще лучше будет если ты у 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 сек.
можешь зацепиться на событие загрузки документа, как хочешь делай
6.
CROWS (24.03.2012 / 13:24)
5.
megabit, num - это ID в таблице.
7.
Алексей (24.03.2012 / 13:32)
6.
-V_o_R_o_N_a-, разницы в выборке то это не меняет
8.
CROWS (24.03.2012 / 13:35)
Придумал такой вариант:
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?
9.
Алексей (24.03.2012 / 13:45)
return false;
i++;
:-D
10.
CROWS (24.03.2012 / 13:47)
megabit (24 Марта 2012 / 13:45)
return false;
i++;
:-D
Ох ты блин, не заметил)) Не внимательный. Спасибо.
Проблема решена моим способом.
URL:
https://visavi.net/topics/30773