Помощник
|
Динамическое обновление |
FordogeN
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
5.1.2009, 17:28;
Ответить: ZiTosS
Сообщение
#2
|
|
Ajax - это технология АСИНХРОННОЙ(синхронной) работы JavaScript с XML(который формируется на сервере)
Но также есть возможность возвращать обычный текст, не в формате XML. В общем у меня такой вопрос - как можно сделать на Java Script чтоб допустим в <span id="ajax">обновлялся контент</span>. Точней обновлялось содержание этого SPANa через определенный интервал? Запросто. Есть такая функция в JS как setInterval(имя_функции, время_повтора_в_милисекундах) А вот и мой маленький примерчик. <html>
<head> <script type="text/javascript"> function blockDinamic() { var blocks = new Array("блок1","блок2","блок3","блок4"); var n = Math.floor(Math.random()*(blocks.length)); document.getElementById('ajax').innerHTML = blocks[n]; } setInterval(blockDinamic, 1000); </script> </head> <body> <div id="ajax"></div> </body> </html> |
|
|
FordogeN
|
Сообщение
#3
|
|
оО... точно, СетИнтервал! Я просто помню раньше делал как-то часы и там каждую секунду обновлялось, а как - забыл... Спасиб))
зы. я так понял - blocks[n], в место [n] нужно поставить номер блока? -------------------- |
|
|
ZiTosS |
5.1.2009, 18:12;
Ответить: ZiTosS
Сообщение
#4
|
|
Нет это я для примера сделал, а можно как ты и думал с помощью Ajax грузить инфу с PHP и вставлять
|
|
|
FordogeN
|
Сообщение
#5
|
|
Ну я именно твоим примером и хотел. Просто синтаксис не знаю((
-------------------- |
|
|
Xap_mw |
6.1.2009, 0:22;
Ответить: Xap_mw
Сообщение
#6
|
|
А Ajax снижает нагрузки на сервер?
|
|
|
FordogeN
|
Сообщение
#7
|
|
-------------------- |
|
|
ZiTosS |
6.1.2009, 4:19;
Ответить: ZiTosS
Сообщение
#8
|
|
Я тут привёл пример как рандомно выводить через каждые 1 сек новый блок...
Так вот тебе просто надо с помощью Ajax посылать запрос на сервер, а на сервере просто обращаться к БД и выбирать нужные тебе блоки, парсить прям там HTML и возвращать обратно. Затем просто возвращенную информацию запихнуть в Div Вот почитай _http://www.ajaxa.net/2007/03/30/ajax-s-chego-nachat/ |
|
|
FordogeN
|
Сообщение
#9
|
|
ZiTisS, а как сделать так, чтоб в место "Блок №" просто обновлялось содержимое?
-------------------- |
|
|
ZiTosS |
6.1.2009, 22:30;
Ответить: ZiTosS
Сообщение
#10
|
|
|
Во-первых, не ZiTisS, а ZiTosS
Во-вторых, я же тебе не зря ссылку дал _http://www.ajaxa.net/2007/03/30/ajax-s-chego-nachat/ 1)К примеру 1.php Файл JS с объектом xmlHttpRequest(как раз тот самый Ajax) <html> <head> <script type="text/javascript" language="javascript"> function makeRequest() { var http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari, ... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); // Читайте ниже об этой строке } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Не вышло :( Невозможно создать экземпляр класса XMLHTTP '); return false; } http_request.onreadystatechange = function() { alertContents(http_request); }; http_request.open('GET', "./file.php", true); http_request.send(null); } function alertContents(http_request) { if (http_request.readyState == 4) { if (http_request.status == 200) { document.getElementById('ajax').innerHTML = http_request.responseText; } else { alert('С запросом возникла проблема.'); } } } setInterval(makeRequest, 4000); </script> </head> <body> <div id="ajax">Начальный контент</div> </body> </html> И файл file.php (лежит там же где и файл, который отправляет запрос, но это не обязательно, путь указывается в функции запроса) <?php echo rand(1,100); ?> Ну уж как вывести определённый контент из БД я думаю объяснять не придётся, если нужно с определёнными ID можно передавать их через GET в ссылке отправки запроса
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Перенос (обновление) OpenCart и OcStore на новую версию 2х - 3х Перенесу ваш магазин на новую версию движка |
3 | Илья1981 | 8443 | 4.10.2021, 11:59 автор: Evgen_ppm |
|
Комиссия 40-70%: обновление партнерской программы 2020 | 2 | Phyllis | 2012 | 20.4.2021, 17:52 автор: Phyllis |
|
Комиссия 40-70%: обновление партнерской программы 2020 | 1 | Phyllis | 1238 | 14.2.2020, 0:17 автор: -Phyllis- |
|
Обновление OpenCart 1.5.4.1.1 на 2.3.0.2.3 | 0 | cactusez | 1423 | 3.3.2019, 19:22 автор: cactusez |
|
Требуется обновление форума | 0 | speedsound | 938 | 3.4.2018, 15:43 автор: speedsound |
Текстовая версия | Сейчас: 18.4.2024, 23:58 |