Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Автообновление эл-та через несколько секунду (https://javascript.ru/forum/misc/18531-avtoobnovlenie-ehl-ta-cherez-neskolko-sekundu.html)

uExpo 05.07.2011 15:40

Автообновление эл-та через несколько секунду
 
Смотрите есть скрипт:

$('#resultat1').load('/board/ #player1');


Который подгружает данные со страницы /board/ с идентификатором #player1 на страницу с содержанием

<div id="resultat1'">Загрузка...</>


Вопрос: Что нужно сделать или что написать чтобы данный скрипт автообновлял (погружал данные) через каждые 100 секунд

walik 05.07.2011 16:10

Цитата:

Сообщение от uExpo
Что нужно сделать

Учится.

setInterval

uExpo 05.07.2011 17:07

Вот так вот?

setInterval('document.getElementById('photo_1')', 1000)

9xakep 05.07.2011 17:11

setInterval(function () {
//тут функция которая будет повтряться
},100000)

и кстати,все в миллисекундах 1000млс-1секунда

uExpo 05.07.2011 17:29

Так теперь получается что

setInterval(function () {$('#resultat1').load('/board/ #player1');},100000)


1. Через 100000 млс, скрипт только запуститься
2. И уже после обновиться

А нужно чтобы скрипт сначала загрузился а уже после спустя 100000 млс обновлялся

Vulkan 05.07.2011 17:41

var loadData = function () {
    $('#resultat1').load('/board/ #player1');
}
loadData();
setInterval(loadData,100000);

uExpo 05.07.2011 19:06

Я правильно сделал добавив expo() (для ручного обновления):

var loadData = function expo() {
    $('#resultat1').load('/board/ #player1');
}


А для того чтобы создать кнопку для ручного обновления:

<a href="javascript://" onclick="expo()">Обновить</a>


Подскажите пожалуйста, я правильно написал?

Vulkan 05.07.2011 19:48

Цитата:

Сообщение от uExpo (Сообщение 111927)
var loadData = function expo() {
    $('#resultat1').load('/board/ #player1');
}

Подскажите пожалуйста, я правильно написал?

Нет, надо так:
var expo = function() {
    $('#resultat1').load('/board/ #player1');
}

или
function expo() {
    $('#resultat1').load('/board/ #player1');
}

uExpo 05.07.2011 21:24

Спасибо большое всем, просто только начал вникать, и немного не привычно после 1 года года чистого HTML и CSS ;)

uExpo 05.07.2011 21:42

Подскажите как можно реализовать: чтобы подгружались только два элемента (c id="player1")

Vulkan 06.07.2011 07:17

uExpo, уточните - чтобы информация подгружалась только в два дива на странице который инициирует загрузку или чтобы информация бралась с двух дивов с той страницы с которой Вы запрашиваете информацию?

uExpo 06.07.2011 09:27

На странице /board/ присутствуют 10 элементов в виде

<div id="player1">Материал</div>


Нужно чтобы загружались не все 10, а только первые два элемента


Цитата:

Сообщение от Vulkan
информация бралась с двух дивов с той страницы с которой Вы запрашиваете информацию?


uExpo 06.07.2011 10:29

Что то в таком стиле?

$.get("/board/", function(data){
var laststat = $("#player:first", data).html();
 if (laststat == null) {var laststat = 'Материалов нет';}
});


То есть идет подгрузка данных с /board/ если нет элементов с #player1 то Материалов нет, если есть то загружается, только не пойму как сделать первые два а не только самый первый

Забыл идентификатор:

$("#element").html(laststat);
<div id="element">Загрузка..</div>


- - - - - - - - - - - - - - -
У меня получилось реализовать вот так, но так слишком много запросов получается на странице

<div class="1"></div>
<div class="2"></div>
<div class="3"></div>


<script> 
$.get('/board/', function (data) {
$('.1').html($('.element::eq(0)', data).html());
$('.2').html($('.element::eq(1)', data).html());
$('.3').html($('.element::eq(1)', data).html());
});
</script>


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