Вывод переменных на экран с паузами

12
WZ
На сайте с 08.04.2009
Offline
16
1519

Пожалуйста подскажите кто знает!

Например у меня есть 5 переменных (у меня же это будет результат скрипта)

$a1 = "Первая переменная";

$a2 = "Вторая переменная";

$a3 = "Третья переменная";

$a4 = "Четрвёртая переменная";

$a5 = "Пятая переменная";

Мне надо на экран пользователю вывести эти переменные не сразу, а с паузами, например 5 секунд между ними.

И чтобы одна переменная выводилась ниже после первой.

Суть такая:

Я написал скрипт и он быстро и качественно всё делает, но надо сделать вид, что скрипт делает что-то сложное, вот для этого и надо вывести с паузами

А вообще надо сделать вот так в точности:

Вывелась первая переменная, ниже неё картинка gif в которой как бы анимация загрузки чего-либо, потом картинка исчезает и появляться вторая переменная и тоже с картинкой, как буд-то что-то грузиться и так далее.

P.S.

В Ajax я полный ноль, прошу дать хоть маленький пример!

Заранее спасибо за ответ! :rolleyes:

[Удален]
#1

пример функции вызывающей аякс есть на википедии, причем отличный

если пользоваться фреймворками, например, prototype, то там все проще


function getVar(i,targetNode) //получить переменную номер i и записать её в объект с id==targetNode
new Ajax.Request('/script.php',
{
parameters:{cmd:'getVar', var:i},
onSuccess: function(tr)
{
$(targetNode).innerHTML=tr.responseText;
}
}
);
}

Event.observe(window,'load',function ()
{
setTimeout("getVar(1,'obj')",5000);
setTimeout("getVar(2,'obj')",10000);
setTimeout("getVar(3,'obj')",15000);
setTimeout("getVar(4,'obj')",20000);
setTimeout("getVar(5,'obj')",25000);
});

а скрипт соответственно выводит переменную, с индексом полученным из $_POST['var']

Я просто показал логику работы, естественно прямо так делать не надо, надо циклы делать и не плодить объекты Ajax.

WZ
На сайте с 08.04.2009
Offline
16
#2

neolord, спасибо, но я ничего в этом не понимаю :(

Мне бы пример как вывести хоть две переменные из примера, что я написал. А дальше думаю смогу понять как еще добавить 25 переменных которые мне надо будет выводить :)

И главное чтобы всё это дело работало на всех браузерах :)

alexspb
На сайте с 14.11.2005
Offline
187
#3

WWW.ZEOS.IN, вы не переменные так в лоб используйте, а массив - чтобы можно было циклом пройтись

Можно вообще простенькую программу написать на жаваскрипт

var imagesMassiv = new Array('img1.gif', 'img2.gif', 'img3.gif', 'img4.gif');


function showMustGo(){
if(countImages == 4){
countImages = 0;
}
document.images['imageShow'].src = imagesMassiv[countImages];
countImages = countImages + 1;
}

должен присутствовать элемент 'imageShow'

можно таймер прикрутить

timer = setInterval('showMustGo()', imagesSec*1000)

imagesSec - присвоить количество секунд

WZ
На сайте с 08.04.2009
Offline
16
#4

Не могу в массив, у меня очень много переменных, очень большой скрипт. И всё это дело выводиться примерно так на экран:

Имя: <?php echo "$name"; ?>

Ну и так далее!

_savit
На сайте с 19.03.2006
Offline
135
#5

думаю вам вот что подойдет http://ru.php.net/manual/ru/function.sleep.php

вот пример который на вышеуказанной странице

<?php

// current time

echo date('h:i:s') . "\n";

// sleep for 10 seconds

sleep(10);

// wake up !

echo date('h:i:s') . "\n";

?>

This example will output (after 10 seconds)

05:31:23

05:31:33

https://vk-botovod.ru - комбайн ВКонтакте, мультимессенджер, эмулятор жизни аккаунтов
WZ
На сайте с 08.04.2009
Offline
16
#6

Да sleep(); уже пробовал много раз, не катит если стоит фаерволл например Outpost

Из за него вывод происходит не постепенно, а всё сразу

P
На сайте с 08.03.2007
Offline
250
#7

а точно не надо что-то из http://ru.php.net/outcontrol ? Может буферизация на сервере?

[Удален]
#8

Вы своим слипом никак не обойдете буферизацию. Никак вообще. Если очень затянуть то еще и браузер отрубит подключение.

WZ
На сайте с 08.04.2009
Offline
16
#9

Pilat, спасибо пробовал но из за фаервола так не пашит! Тут надо или яваскрипт или ajax и в том и том я ноль

WWW.ZEOS.IN добавил 08.04.2009 в 14:13

Кто небудь прошу приведите пример как вывести вот эти переменные:

$a1 = "Первая переменная";

$a2 = "Вторая переменная";

$a3 = "Третья переменная";

$a4 = "Четрвёртая переменная";

$a5 = "Пятая переменная";

С паузами 5 секунд на экран

T.R.O.N
На сайте с 18.05.2004
Offline
314
#10


<html language="ru">
<head>
<title>--------</title>
<meta http-equiv="content-type" content="text/html">
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<meta http-equiv="content-language" content="ru">

<script>
var array = new Array();
array[0] = "111111111111";
array[1] = "2222222222222";
array[2] = "3333333333333";
array[3] = "44444444444444444";
array[4] = "55555555555555555";

function a(){
var c;
c=array.pop();
if(c){
document.getElementById("out").innerHTML = c;
setTimeout("a()",5000); // 5 сек
}
}

</script>
</head>

<body onload="javascript:a()">
<h1>вот</h1>
<div id="out"></div>
</body>
</html>

как поткнуть хначения из пхп сюда догадаетесь...

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий