[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
setTimeOut v javascript FOR loope

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268 | 268
Bydlisko: Levice
NapísalOffline : 09.03.2017 8:24 | setTimeOut v javascript FOR loope

mam nieco taketo (je to addon pre Chrome), ale ide o princip javascriptu. Tato funkcia ma na starosti otvorenie viacerych tabov v browseri.

Kód:
    for(i = 0; i < Result.length; i++){
       
chrome.tabs.create({"active":false, url: myLink+Result[i]+'&srch=GO'}); 
       

}


Toto funguje fajn, otvori tolko tabov, kolko je Result.length.

Chcem vsak spravit to, aby pred kazdym otvorenim tabu bola nejaka pauza, pretoze tie taby otvori velmi rychlo.

Kód:
setTimeout(function() {chrome.tabs.create({"active":false, url: myLink+Result[i]+'&srch=GO'}); }, 2000); 


Skusal som toto, no sice pocka tych 2000ms na zaciatku, ale iba raz a potom otvori opat vsetky taby naraz. Ja chcem, aby pred kazdym krokom vo FOR loope fungoval setTimeout, nechapem, preco to spravi len raz na zaciatku.

Viete poradit?


Offline

Správca fóra
Správca fóra
setTimeOut v javascript FOR loope

Registrovaný: 08.08.09
Príspevky: 12446
Témy: 38 | 38
NapísalOffline : 09.03.2017 9:50 | setTimeOut v javascript FOR loope

Pokiaľ chceš v cykle nastaviť časovač, dá sa to. Háčik je v tom, že [c]setTimeout()[/c] nezablokuje vykonávanie ostatných príkazov v cykle ani za ním.
Skús si spustiť tento kód a sleduj poradie v konzole:
Kód:
console.log('start');
for (i = 1; i <= 3; i++) {
   console.log('loop: ' + i);
   setTimeout(function() {
     console.log('timeout triggered');
  }, 1000 * i);
}
console.log('end');

Problém budeš mať hlavne s iteračnou premennou [c]i[/c].


_________________
always is always wrong
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 06.02.14
Prihlásený: 19.01.18
Príspevky: 443
Témy: 9 | 9
NapísalOffline : 09.03.2017 9:56 | setTimeOut v javascript FOR loope

skor cez setInterval

Kód:
var myInterval = setInterval(function(){ openTab() }, 3000);
var tabsCount = 100;
var actualTabsCount = 0;

function openTab() {
   chrome.tabs.create({"active":false, url: myLink+Result[i]+'&srch=GO'}); 
   actualTabsCount++;
   if (actualTabsCount == tabsCount) clearInterval(myInterval);
}


Offline

Užívateľ
Užívateľ
setTimeOut v javascript FOR loope

Registrovaný: 28.02.11
Prihlásený: 26.01.26
Príspevky: 205
Témy: 6 | 6
Bydlisko: Bratislava
NapísalOffline : 09.03.2017 12:07 | setTimeOut v javascript FOR loope

Urob to rekurzívne:

Kód:
var openedTabs = 0;
var maxTabs = Result.length;
var delay = 2000;
function automaticTabOpener() {
    if (openedTabs < maxTabs) {
        chrome.tabs.create({"active": false, url: myLink + Result[openedTabs] + '&srch=GO'});
        setTimeout(automaticTabOpener, delay);
        openedTabs++;
    }
}
automaticTabOpener(); 


_________________
Neznalosť zložitých operácií necháva myseľ otvorenú pre geniálne riešenia založené na jednoduchosti.
Offline

Užívateľ
Užívateľ
setTimeOut v javascript FOR loope

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268 | 268
Bydlisko: Levice
Napísal autor témyOffline : 09.03.2017 12:38 | setTimeOut v javascript FOR loope

to je parada, takto to uz funguje. Dakujem vam za help!


 [ Príspevkov: 5 ] 


setTimeOut v javascript FOR loope



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

javascript wysiwyg v javascript popup

v Frontend

1

984

25.07.2009 19:29

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

CUSTOM CSS FOR MAIN CONTENT AREA ONLEY FOR MAIN PAGE

v Frontend

6

709

29.10.2013 15:21

Beatdownhaus

V tomto fóre nie sú ďalšie neprečítané témy.

P: Server memory 4GB 2x 2GB dual-rank x4 DDR2 400 MHZ PC2-3200 REG ECC 4GB RAM DDR2 400 for Dell PE6850 FOR HP DL140 G2

v Bazár

0

597

26.11.2014 9:14

sulino611

V tomto fóre nie sú ďalšie neprečítané témy.

javascript

v Sieťové programy

1

697

01.05.2009 15:28

Jaro

V tomto fóre nie sú ďalšie neprečítané témy.

javascript

v Frontend

1

1729

22.03.2006 19:29

JanoF

V tomto fóre nie sú ďalšie neprečítané témy.

javascript

v Frontend

21

1222

06.03.2009 11:03

suchy

V tomto fóre nie sú ďalšie neprečítané témy.

MENU - JAVASCRIPT

v Frontend

7

1443

01.03.2008 16:24

mage

V tomto fóre nie sú ďalšie neprečítané témy.

JavaScript aritmetika

v Frontend

1

754

29.03.2016 15:11

killer

V tomto fóre nie sú ďalšie neprečítané témy.

JavaScript programátor

v Ponuka a dopyt práce

1

1146

01.09.2017 12:38

aiRen

V tomto fóre nie sú ďalšie neprečítané témy.

externy javascript

v Frontend

3

1054

02.01.2009 12:53

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

Javascript-kniha

v Ostatné

3

592

09.08.2013 14:35

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

jquery - javascript -

v Frontend

1

618

18.09.2011 19:41

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

super JavaScript !!!

v Frontend

6

1268

27.10.2007 23:14

mylan

V tomto fóre nie sú ďalšie neprečítané témy.

Javascript okno

v Frontend

22

1031

27.03.2014 14:11

samson3333

V tomto fóre nie sú ďalšie neprečítané témy.

javascript podmienka

v Frontend

6

1030

01.03.2008 18:35

emer

V tomto fóre nie sú ďalšie neprečítané témy.

PHP + javascript

v Backend

10

751

09.07.2008 20:17

rooobertek



© 2005 - 2026 PCforum, edited by JanoF