Autor Zpráva
aiphee
Profil
Čau, snažím see udělat stránku kde bude obsah ve skrývajících se divech. Zasekl jsem se ale u toho že mě nejde napsat plynulý shovávací skript. Ať nastavím u setTimeout cokoli, vykonává se ta akce okamžitě. Přitom skript ze kterýho jsem vycházel se pohyboval plynule (ten byl ale na pohyb ne na zbalení).
Tady je můj kód:

var minHeight = 50;

function zobraz(id){
    schovejVsechny(id);
    //dodělat
}

function schovejVsechny(id){
    collapse('jedna');
    collapse('dva');
    collapse('tri');
}

function collapse(id) {
    var element = document.getElementById(id);
    if (parseInt(element.clientHeight) > minHeight) {
        element.style.height = parseInt(element.clientHeight) - 22 +'px';
        setTimeout(collapse(id), 1);
    }    
    else {
        element.style.visibility = 'hidden'; 
    }
}
Moderátor Str4wberry: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
_es
Profil
aiphee:
setTimeout(collapse(id), 1);
Do funkcie setTimeout patrí ako prvý argument funkcia, viď tu a tu.
aiphee
Profil
Aha, díky. Takže už co celkem běhá, dal jsem tam
setTimeout(collapse, 1, id);

Je ale divný že když se nastavý mocmalá hodnota minHeight tak některý, nebo žádný prvky nezmizej, jako by se nevykonal else.
Chamurappi
Profil
Reaguji na aiphee:
To samozřejmě neběhá, předávání argumentů přes setTimeout nefunguje ve všech prohlížečích.
aiphee
Profil
V opeře, firefoxu a chromiu mě to funguje, tak to už zbejvá jenom IE, ten ale na linuxu nevyzkouším. Je nějakej jednoduche zůsob jak to udělat i v něm? Přinejhorším to v IE udělám přes klasický odkazy a zákazníkovy řeknu že za 400 mi ta námaha nestojí :)
Chamurappi
Profil
Reaguji na aipheeho:
zákazníkovy řeknu že za 400 mi ta námaha nestojí
Já bych mu řekl, ať si na práci vezme někoho, kdo není méně chápavý fanatik. Kolega _es ti dal odkaz na stránku, kde máš řešení funkční ve všech prohlížečích, tys mu za to poděkoval a našel sis úplně jiné nestandardní řešení, které funguje jen v omezené množině prohlížečů…
aiphee
Profil
Tak to sem ty odkazy blbě pochopil. Jdu na to mrknout.
PS: Nějak nechápu v čem sem fanatik.
aiphee
Profil
Chamurappi:
Já bych mu řekl, ať si na práci vezme někoho, kdo není méně chápavý fanatik. Kolega _es ti dal odkaz na stránku, kde máš řešení funkční ve všech prohlížečích, tys mu za to poděkoval a našel sis úplně jiné nestandardní řešení

Není to proto že bych neposlouchal rady ale protože sem myslel že sem tu radu pochopil když mě to šlo ve všech třech prohlížečích co vedu. Jinak Linux nikomu necpu a tak nechápu proč bych měl bejt fanatik, widle taky jednou za čas na hry zapnu. A to že mi to za 400 nestojí byla samozřejmě ironie, nedělám to pro peníze ale abych se naučil.

Každopádně díky, už jsem snad pochopil to co bylo v těch odkazech a stránka teď funguje i v IE. Díky

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