Вывод текста по времени
Есть массив, содержащий строковые данные.
Как сделать так, чтоб в определенное время начался вывод этого массива, с определенным промежутком между выводом отдельных его элементов? |
Здравствуйте!
Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/ Задавайте конкретные вопросы по ходу дела. |
Ну я просто больше с PHP знаком. А это понадобилась вот такая штука на стороне клиента. Я начинал читать несколько учебников по javascript, но он до меня что-то не доходит. Вот я и подумал что может кто-то поможет готовым скриптиком.
|
Вы просите готовый скрипт с нуля.
Это работа, и за нее обычно платят деньги. Для таких сообщений предназначен раздел форума "Работа". Если вы все же хотите, чтобы вам помогли - приложите какие-то усилия сами и задавайте вопросы по ходу дела. |
B~Vladi,
Вы что-то уж слишком жестоки. Madjahet, Вам пригодятся эти маны: Array, setTimeout, setInterval. И помните, что такой вещи, как sleep() в javascript нет. |
Моих знаний хватило на это:
<script type="text/javascript"> var znach = new Array(5); znach[0] = "Значение1"; znach[1] = "Значение2"; znach[2] = "Значение3"; znach[3] = "Значение4"; znach[4] = "Значение5"; //Промежуток, через который должны выводиться сообщения //В данном случае 20 секунд var pr = 20000; //Создаем дату, когда должно начаться показ массивов var start = new Date("04/11/2010 23:10"); //Если наступит дата старта //то должно вывестись //сообщение из масива function pokaz (dataStarta, soobschenie){ //Узнаем текущую дату var sejchas = new Date(); //сравниваем ее с датой старта //если дата старта больше - выводим сообщение if (sejchas < dataStarta){ document.write(soobschenie); } } //Выводим сообщения в цикле for (var i = 0; i<5; i++){ start = start + pr * i; pokaz (start, znach[i]); } </script>Не работает. Что там не так? |
document.write можно использовать только до загрузки страницы
после этого события надо использовать нижеприведенные инструменты http://javascript.ru/tutorial/dom http://innerhtml.ru/ |
Скрипт выполняется единожды. Чтобы сделать «отсроченное» выполнение, нужно использовать setInterval и setTimeout.
document.write() пишет даные в «поток» документа. При этом этот самый «поток» задерживается до окончания выполнения скрипта, но не функций, вызванных по событию или таймеру — тогда просто непонятно, в какой именно место следует «write», и это грозит открытием нового документа. Но, в целом, Вы на верном пути. |
Madjahet,
Да, и добавлю. Постарайтесь сначала сделать часы на яваскрипте, самые простецкие. Потом сделайте так, чтобы секунды на этих часах сменялись одновременно с системным временем. Потом сделайте так, чтобы все это ело процессора как можно меньше. И после этого Ваша задача покажется Вам не такой уж и сложной. :) |
Цитата:
разве что сделать цикл, а внутри него по сравнению времени выполнять функцию?О_о |
Часовой пояс GMT +3, время: 21:32. |