Autor Zpráva
LaShana
Profil
Zdravím, poradil by mi prosím někdo, jak na úpravu skriptu?
Jsem začátečník - javaskript opravdu neumím a protože jsem potřebovala předělat své stránky, inspirovala jsem se tady Skrývané záloľky pomocí DHTML, ale poté co jsem to dodělala a začala přidávat další věci, jsem zjistila, že mám problém.

Pokud na některou (jinou než tu první) z kotev odkážu "zvenčí" (odkaz z jiné stránky), tak to nefunguje jak by mělo - odkaz mám správný - napíše se i jeho adresa do adresního řádku, zobrazí mi to, ale vždy jen tu první "kotvu" tu co je skriptem nastavena jako pomocná proměnná - z toho co jsem vyhledávala si myslím (doufám, že ne naprostou koninu), že bych měla nějak navázat událost onclick na onload - myslím si, že to prostě čeká na kliknutí, ale nevím jak to mám udělat a nepovedlo se mi to najít. Nebo "přečíst proměnnou" z adresního řádku (to jsem sice našla) a nechat to načíst, ale to taky nevím jak...

Děkuji
Keeehi
Profil
No, simulovat kliknutí samozřejmě lze. Ale ve tvém případě je to naprosto zbytečné. Ty chceš do té defaultní hodnoty nacpat to, co je v url. Tak to tam dej. Najdeš to v location.hash.

poznámka 1: ta hodnota začíná # který budeš chtít odstranit než ji tam vložíš.
poznámka 2: ta část v url může chybět takže v takovém případě to bude chtít přidat fallback na nějakou defaultní hodnotu. Což není nic fancy, jen jednoduchý if.
LaShana
Profil
Ahoj děkuji za odpověď
Dlouho jsem zkoušela, co jsi mi radil + co jsem našla, ale nepovedlo se mi to... Kde mám chybu?

<script>
hash = window.location.hash.substr(1);
window.alert (hash);          

var hash = window.location.hash.substr(1);
function zobraz(polozka){
if(typeof window.location.hash != "undefined" && window.location.hash == "prvni"){
    
}
var zobrazena = "prvni"; // pomocna promenna, na zacatku nastavena na jmeno zobrazene polozky
        function zobraz(polozka){
            if (document.getElementById){
                document.getElementById(zobrazena).style.display = "none"; // skryje předchozí polozku
                document.getElementById(polozka).style.display = "block"; // zobrazi se nakliknuta polozka
                zobrazena = polozka; // aktualne zobrazena polozka se ulozi do globalni promenne, aby se pozdeji dala skryt
                return false; // odkaz neproklikne na href
            }
            else {
                if(document.stylesheets) document.stylesheets["zalozky"].disabled = true; // v nekterych browserech (IE 4) vypne styl nezobrazovani, aby se polozky alespon zobrazily
                return true; // odkazy budou proklikavat na href

           } 
        }



</script>

Moderátor Kajman: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Kajman
Profil
Při načtení stránky nevoláte funkci zobraz s parametrem z proměnné hash.

Edit: Skrývané záložky pomocí DHTML
LaShana
Profil
Kajman:
Děkuji za odpověď, ale bohužel nevím jak bych to měla udělat. Neživím se tím, ani nepředpokládám, že by se tak v budoucnu stalo. Chtěla jsem si jen usnadnit práci s následnou editací webu (čas od času potřebuji něco přidat a na přechozích stránkách co jsem měla to byl opruz), bohužel jsem si ji použitím tohoto skriptu akorát přidělala, budu to muset celé předělat.
anonym_
Profil *
LaShana:
Proč se nepodíváš do kódu? JS je normálně viditelný.

Skrývané záložky pomocí DHTML - živá ukázka

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