Autor | Zpráva | ||
---|---|---|---|
gregi Profil * |
#1 · Zasláno: 14. 3. 2009, 17:16:26
Ahoj.
Mám následující javascript: var next=2; function Prechod(){ setTimeout("zmenit("+next+")",1000); next++; Prechod(); } Chtěl bych postupně volat funkci zmenit, ale následující funkce mi nefunguje. Resp. funguje, ale s tim, že se zavolá automaticky poslední zmenit. Ještě tam potom budu dělat podmínky že když je next==5, tak že se rovná 1. Ale nejdřív potřebuju zjistit, proč mi nefunguje tento zápis. Díky za pomoc |
||
Jan Tvrdík Profil |
#2 · Zasláno: 14. 3. 2009, 18:14:02 · Upravil/a: Jan Tvrdík
function Prechod() { zmenit(1); } function zmenit(n) { // Kód funkce změnit // ... next = n + 1; setTimeout("zmenit(" + next + ")", 1000); } nebo ještě lépe var n = 1; window.setInterval(dalsi, 1000); function dalsi() { // Změní obrázek na další // ... n++; } |
||
gregi Profil * |
#3 · Zasláno: 14. 3. 2009, 18:28:47
Nakonec jsem to vyřešil takto.
var Odpocet=1; function Prechod() { if (0==Odpocet) // Co sem ale? else { Odpocet++; zmenit(Odpocet); setTimeout("Prechod()", 1000); } } Nevim co dosadit pokud se Odpocet rovná 0. Zkoušel jsem Odpocet=1 a znovu zavoalt Prechod, ale to nefunguje. Nevíte čim to je? |
||
Jan Tvrdík Profil |
#4 · Zasláno: 14. 3. 2009, 19:06:51
gregi:
„Nevíte čim to je?“ Víme. Akorát nechápu, čeho chceš dosáhnout. var n = 1; var limit = 5; interval = window.setInterval(dalsi, 1000); function dalsi() { // Změní obrázek na další document.getElementsByTagName('img')[0].src = n + '.jpg'; n++; if (n == limit) window.clearInterval(interval); } |
||
gregi Profil * |
#5 · Zasláno: 14. 3. 2009, 19:10:26
Chci volat funkci zmenit("cislo");, počínaje 2 a konče 5. Následně aby to začalo od 1. Tedy aby se zavolala funkce zmenit(1), 5 vteřin pauza, poté zmenit(2), pauza a tak dále. A aby se to opakovalo stále dokola.
|
||
Časová prodleva: 17 let
|
0