Autor Zpráva
drozdo
Profil
Vedel by mi niekto poradit proč sa tenhle script neprovede?

function setOpacity(tmavnuti) {
        element = document.getElementById('jsconfirmfade');
        element.style.opacity = tmavnuti;
        element.style.MozOpacity = tmavnuti;
        element.style.KhtmlOpacity = tmavnuti;
        element.style.filter = "alpha(opacity="+(tmavnuti*100)+");";
}

function fadeOut() {
       
        for (level = 83; level >= 0; level -= 1) {
          level2 = level/100;
          setTimeout("setOpacity("+level2+")", level2*400);          
        }
        element = document.getElementById('jsconfirmfade');
        tmavnuti = element.style.opacity;
        alert(tmavnuti); //alertko mi vypise ze hodnota je 0.83 ..preco nie je nula?
}
DJ Miky
Profil
fadeOut() nastaví časovače a pokračuje dál, tedy alert vypíše 0.83, protože se provede ještě před všemi setOpacity() (ty se začnou provádět až po nějaké prodlevě.

Jinak bych si tipnul, že to funguje přesně naopak - časovače jsou obráceně:

setOpacity(83) se provede za 332 ms
setOpacity(82) se provede za 328 ms
setOpacity(81) se provede za 324 ms
(...)
setOpacity(2) se provede za 8 ms
setOpacity(1) se provede za 4 ms
setOpacity(0) se provede za 0 ms

Tedy se začne od nuly a dojde se zpět k 83.
drozdo
Profil
aha, a jak by sa dalo mu prikazat nech ide od 83 a skonci na na nule?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0