Problém sfunkcí setTimeout – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Problém sfunkcí setTimeout – JavaScript, AJAX, jQuery – Fórum – Programujte.comProblém sfunkcí setTimeout – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Mecik0
Duch
29. 3. 2009   #1
-
0
-

Zdravím,
mám jeden takový problém s progress barem a to ten, že mi nefunguje funkce setTimeout, nechce mi vzít funci pcocess, nevíte, čím to nebo jak to rozchodit?
Tady je kód:




function ProgressBar(zacatek,konec,minutes)
{


this.stopwatch=true;
this.spusteno= true;
this.sekundy;
this.cas = "", this.hodiny = 0, this.minuty = 0, this.vteriny = -1;

if(this.spusteno)
{


var mydiv = document.getElementById("pb");
mydiv.style.width = (0) +"%";

seconds=minutes*60;
this.sekundy=seconds;
var speed = Math.round(seconds*10);
var timer = 0;

this.putTheWatchesIn();



for(var i =zacatek;i<=konec;i++)
{

setTimeout("this.process('" + i + "')",(timer*speed));
timer++;

}
}
this.spusteno=false;

}

ProgressBar.prototype.process = function(i)
{

var mydiv = document.getElementById("pb");
mydiv.style.width = (i) +"%";



}

Nahlásit jako SPAM
IP: 85.132.220.–
Kobi
~ Moderátor
+1
Věrný člen
29. 3. 2009   #2
-
0
-

Mě přijde, že máš chybu ve volání. Zkus

setTimeout("this.process(" + i + ")",(timer*speed));


Viděl bych to na ty uvozovky.

Nahlásit jako SPAM
IP: 83.240.25.–
Mecik0
Duch
29. 3. 2009   #3
-
0
-

Tak jsem to zkusil a nepomohlo to. Tady tenhle kod funguje normálně:




var stopwatch=true;
var spusteno= true;
var sekundy;
var cas = "", hodiny = 0, minuty = 0, vteriny = -1;
function ProgressBar(zacatek,konec,minutes)
{
alert('adsfads');
if(spusteno)
{


var mydiv = document.getElementById("pb");
mydiv.style.width = (0) +"%";

seconds=minutes*60;
sekundy=seconds;
var speed = Math.round(seconds*10);
var timer = 0;

putTheWatchesIn();



for(var i =zacatek;i<=konec;i++)
{

setTimeout("process('" + i + "')",(timer*speed));
timer++;

}
}
spusteno=false;

}

function process(i)
{
var mydiv = document.getElementById("pb");
mydiv.style.width = (i) +"%";

}


ale bohužel jen pro jeden progressbar a já potřebuju těch progressbarů více podle toho kolik bude uživatel chtít, tak jsem to přepsal do těch prototypu a už to nejde.

Nahlásit jako SPAM
IP: 85.132.220.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý