JQuery: автоматическая перезагрузка / обновление элемента страницы? - PullRequest
3 голосов
/ 18 февраля 2011

Эй, ребята, я хочу обновлять определенный элемент страницы каждую минуту.

Я знаю, как использовать функцию load () jquery для перезагрузки элемента на моей странице, как это.

    $('.mostliked').load("http://mypage.com" + " .mostliked >*", function() {
        //callback
    });

Это прекрасно работает, потому что .mostliked является элементом моей боковой панели.

Однако теперь мне нужно обновить элемент, где я не могу получить его содержимое с какой-то другой страницы, как в моем примере с боковой панелью.

var reload = 60000;setInterval (function () {

    $('ul.rating').each(function() {
        //simply reload this element every minute
    })
    //update sidebar widget
    $('.mostliked').load("http://mypage.com" + " .mostliked >*", function() {
        //callback
    });

}, reload);

Как мне решить эту проблему?

спасибо

Ответы [ 2 ]

2 голосов
/ 18 февраля 2011
$(document).ready(function() {
                setInterval(function() {
    $(".mostliked").load("http://mypage.com" + " .mostliked","");
}, 60000);
});
1 голос
/ 18 февраля 2011

Проверьте под заголовком «Загрузка фрагментов страницы» на этой странице: http://api.jquery.com/load/

Для того, чтобы «перезагрузить» элементы ul.rating, вам нужно извлечь текущую страницу в фоновом режиме (используя load или другой метод), захватить ее элементы ul.rating и заменить их на странице, которая JavaScript работает на.

Примечание: это не лучший способ сделать это, было бы намного лучше, если бы вы могли получить некоторый код размера сервера, возвращающий только содержимое, необходимое для элементов ul.rating, вместо того, чтобы выдавать запрос всей страницы. Разбор нужных вам частей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...