Я пытался сделать это уже много времени, но не могу. Вот моя проблема: у меня есть такая же веб-страница:

<html>
<body>
<div id="my_div">
<span id="txt">HELLO WORLD</span>
</div>
</body>
</html>

Теперь я хочу, чтобы div my_div обновлялся каждые X секунд, а также обновлял его содержимое. Как это сделать с помощью AJAX, JQUERY или JAVASCRIPT?

Обратите внимание: мне не нужен скрипт, обновляющий всю страницу. Обратите внимание (2): Я только что пытался найти что-то с помощью Google, но ничего не нашел.

Помогите, пожалуйста. У меня была эта проблема много времени.

Заранее спасибо!

8
gedamial 23 Ноя 2014 в 17:57

3 ответа

Лучший ответ

Использование jQuery load() и интервального таймера - самое простое.

setInterval(function(){
   $('#my_div').load('/path/to/server/source');
}, 2000) /* time in milliseconds (ie 2 seconds)*/

load() - это сокращенный метод для $.ajax

Это предполагает, что вы настроили сценарий на стороне сервера, который выводит содержимое только для этого элемента. Вы также можете использовать фрагмент селектора в URL load для синтаксического анализа всей страницы на предмет определенного содержания.

См. документацию по API load () .

16
charlietfl 23 Ноя 2014 в 15:10

Вы можете написать что-нибудь вроде

var doSth = function () {

  var $md = $("#my_div");
  // Do something here
};
setInterval(doSth, 1000);//1000 is miliseconds
2
Kenny Tai Huynh 23 Ноя 2014 в 15:07

Используя jQuery, вы можете динамически обновлять содержимое элемента, используя:

$("#my_div").html("... new content ...");

Новое содержимое заменяет исходное содержимое.

Используя метод setInterval (), вы можете заставить JavaScript выполняться каждый период:

Например:

window.setInterval(function() {
   $("#my_div").html("... new content ...");
}, 1000);

Будет заменять контент каждую секунду.

1
Kolban 23 Ноя 2014 в 15:01