Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Динамический вывод текстовых сообщений (https://javascript.ru/forum/misc/2862-dinamicheskijj-vyvod-tekstovykh-soobshhenijj.html)

Артём Тарасов 19.02.2009 10:46

Динамический вывод текстовых сообщений
 
Здравствуйте. Проблема такая:
Необходимо из БД выгружать несколько новостей (например 10) и динамически отображать их в определённом месте на html. Обновление должно происходить с временным интервалом 20 секунд.

evgen28 19.02.2009 11:27

в фреймворке mootools можно сделать так:
yourjsFunction (responseText, responseXML){
    //вставка новостей в документ

}

var addCount = function(){ 
    var MyRequest = new Request({
       //серверная часть
       url : 'yourURL.php',
       //переменная с данными отсылаемыми на сервер
       data : 'yourdata=' + yourdata,
       method : 'post',
       //функция обработки ответа
       onSuccess : function(responseText, responseXML){
           yourjsFunction (responseText, responseXML);
       }
  }).send();
};
addCount.periodical(1000);

arttaras 19.02.2009 11:53

Спасибо, evgen28, но это мне не подходит. Алгоритм у меня такой (пишу на JAVA с использованием JSP):
1) Из БД выбирается Collection<News>
2)При формировании JSP, необходимо сразу создать массив новостей в html, отсылаемой пользователю
3) С помощью JS отображать новости поочереди, с определённым временным интервалом
4) Очень важно, не делать дополнительных обращений к серверу. Нужно, чтобы все новости выгружались сразу.

IIIEPJIOK 19.02.2009 13:20

Будте проще.....
Выбрали, что вам надо и отослали все клиенту, примерно так:
<div id="news_set">
   <div id="news1">
      Новость 1 
   </div>
.......
   <div id="newsN">
       Новость N 
   </div>
</div>

А потом, по setTimeout, через заданные промежутки времени, ДивТакой-то.style.display = 'block', остальные 'none'

arttaras 19.02.2009 13:36

Цитата:

Сообщение от IIIEPJIOK (Сообщение 12886)
Будте проще.....
Выбрали, что вам надо и отослали все клиенту, примерно так:
<div id="news_set">
   <div id="news1">
      Новость 1 
   </div>
.......
   <div id="newsN">
       Новость N 
   </div>
</div>

А потом, по setTimeout, через заданные промежутки времени, ДивТакой-то.style.display = 'block', остальные 'none'

По-моему, это то, что надо! Спасибо!


Часовой пояс GMT +3, время: 13:33.