Piotr Stanek

Piotr Stanek Programista PHP /
JS developer

Temat: each i sleep

   $.each(LoadRaceJson(), function(key, val) 
{
$("#speed .value").delay(1000).text(val.speed);
});


mam taki kod on listuje mi dane z jsona które przechowuje metoda LoadRaceJson()

Chciałbym zrobić tak, że pobierze 1 element z jsona, czeka 1 sek. i leci dalej i tak aż do końca. czyli tym więcej danych w json tym dłużej będzie to trwało.
Krzysztof Safjanowski

Krzysztof Safjanowski Senior JavaScript
Lead Developer

Temat: each i sleep

@ P S
Ile elementów zwracasz w JSON’e?
Co sekundę chcesz odpytać o nowe dane w JSON’ie czy raz odpytać a co sekundę wyświetlić kolejny element?
setInterval przyjacielem Twym będzie gdy coś chcesz cyklicznie wykonać

*edycja: poprawiłem sznurekKrzysztof Safjanowski edytował(a) ten post dnia 26.04.12 o godzinie 17:02
Piotr Stanek

Piotr Stanek Programista PHP /
JS developer

Temat: each i sleep

wiem wiem już działa. chciałem raz pobrać i potem co x czas wyświetlać.

może komuś się przyda:


...

$('a#start_race').live('click', function()
{
$("#start_race").css('display','none');
$("#stop_race").css('display','block');
jump = 100;
item = LoadRaceJson();
window.setInterval(function()
{
count += 1;
if (count < item.length)
{
//speed
var str_speed = item[count].speed;
var exploded_speed = str_speed.split('.');
html_speed = exploded_speed[0]+'.<span style="font-size:14pt">'+exploded_speed[1].substr(1,2)+'</span>';
$("#speed .value").html(html_speed); //time
var str_time = item[count].time;
var exploded_time = str_time.split('.');
if (exploded_time[1] !== 'undefined')
{
html_time = exploded_time[0]+'.<span style="font-size:14pt">'+exploded_time[1]+'</span>';
}else{
html_time = exploded_time[0];
}
$("#stat .time").html(html_time); }
},jump);

...

Krzysztof Safjanowski

Krzysztof Safjanowski Senior JavaScript
Lead Developer

Temat: each i sleep

Proszę, doczytaj w wolnej chwili o metodzie live() - ma status depreced i może być w każdej chwili usunięta z kolejnych wersji jQuery
Piotr Stanek

Piotr Stanek Programista PHP /
JS developer

Temat: each i sleep

zamienie to na .on

Temat: each i sleep

Wtrącę 3 grosze. Polecam zastąpienie setInterval przez setTimeout wywoływanego jako callback. Jak podkusi Cię do wykorzystania tej konstrukcji do wykonania w setInterval czegoś bardziej pracochłonnego, co nie trwa krócej niż 100ms, mogą pojawić się problemy :)Piotr Pałubski edytował(a) ten post dnia 26.04.12 o godzinie 20:21

konto usunięte

Temat: each i sleep

Piotr Pałubski:
Wtrącę 3 grosze. Polecam zastąpienie setInterval przez setTimeout wywoływanego jako callback. Jak podkusi Cię do wykorzystania tej konstrukcji do wykonania w setInterval czegoś bardziej pracochłonnego, co nie trwa krócej niż 100ms, mogą pojawić się problemy :)

Jakieś źródło?

edit: dobra, już skumałem o co Ci chodzi... faktycznie - setTimeout będzie "bezpieczniejszy" do uruchamiania rzeczy, które wymagają więcej czasu na wykonanie się...Piotr L. edytował(a) ten post dnia 26.04.12 o godzinie 23:39

Podobne tematy


Następna dyskusja:

each i sleep




Wyślij zaproszenie do