Autor Zpráva
preca1
Profil
zdravíčko.

chtěl bych si udělat menu pomocí js. chtěl bych tam použít jeden odkaz, kterej bude tohodle ražení. když na něj kliknu, tak odhalí další odkaz. zkoušel sem to zapsat víc způsoby, ale nefunguje to.

je vůbec možný, aby v tom textu zapsaném pomocí document.write() byl další skript?

krajní možnost je podle mě ten jeden odkaz vypsat ručně, ale zajímalo by mě, jestli to nejde napsat pomocí document.write().

díky :)
grimword
Profil
je to celkem jednoduche, udelas si text na ktery budes klikat a bude odkryvat ten dalsi <a onclick="odekryj()"> a vytvoris si javascriptovou funkci "odekryj()", ktera nastavi DIVu ve kterem je ulozen ten druhy text CSS vlastnost "visibility"; zaroven udelas promenou do ktere ulozis jestli je to zobrazene nebo skryte a podle teto promene budes poznavat, jestli pri dalsim kliknuti se ma nastavit vlastnost visibility aby se zobrazil nebo skryl
peta
Profil
preca1 viz grimword
jakpsatweb - javascript - priklady - skryvani nadpisu
preca1
Profil
omlouvám se. napsal sem to špatně. tím chtěl bych si udělat menu pomocí js sem myslel toto (citace z jpw):
Vkládání menu ze souboru

Výjimkou z pravidla střídmosti je generování patiček nebo odkazových menu pomocí externího *.js souboru. Tak lze totiž vložit stejný text do mnoha stránek. V externím souboru menu.js může být tento text: 

document.write("<a href='index.html'>Hlavní stránka</a>") 
document.write("<a href='druha.html'>Druhá stránka</a>")
atd.

Do každé ze stránek se potom menu vloží na potřebné místo pomocí zápisu

<script src="menu.js"></script>

(Ještě musím zmínit, že takováto tvorba menu dělá problémy, pokud máte stránky ve více než jedné složce (adresáři). Potom totiž nemusejí fungovat relativní odkazy. Někteří kvůli tomu dokonce dělají speciální souborové systémy, aby mu to fungovalo.)


takže bych chtěl mít menu, které bude vypsané pomocí javascriptu a jeden z těch odkazů bude ten odkrývací. něco jako to je tady (Poslední změny), akorát aby to bylo vypisovaný pomocí js.

moc dík
preca1
Profil
<html>
<head>

<style>
.skryvany {display: none}
</style>

<script>
 function zobrazSkryj(idecko){
el=document.getElementById(idecko).style;
el.display=(el.display == 'block')?'none':'block';
}
</script>

<title></title>
</head>
<body>

<script>
promenna = "<a  onclick=\'zobrazSkryj('news'); return false\' class=\'a\' href=\'\';>Poslední změny</a>";
document.write( promenna );
</script>

<div id='news' class='skryvany'> text jako pes </div>

</body>
</html>


tak ani tohle nefunguje. chtěl sem udělat to, že bych ten odkaz vypsal pomocí proměnné,ve které by bylo to onclick, ale nefunguje to. nejsem si moc jistej těma lomítkama a apostrofama. a hlavně nevim, jestli má vůbec cenu se o to pokoušet, jestli to vůbec de provést.
preca1
Profil
tak to zkusim napsat ještě jednou a líp.

chtěl bych mít menu vypisované pomocí js (kvůli rychlosti) a první odkaz bude skrývat a odkrývat seznam nových článků. stejně jako to je tady (použit návod z jpw.

problém je ale v tom, jak do toho odkazu dostat to onclick a ty divy.

nevíte někdo, jak to provést pomocí toho js?

pak mě taky napadlo udělat to pomocí php, a k tomu bych měl dotaz, jestli budu muset všechny stránky měnit na *.php, nebo jestli bude stačit, když budu mít soubor menu.php (v něm budou odkazy) a v index.html ho vložim pomocí <? include "menu.html"; ?>.

díky
Chamurappi
Profil
Reaguji na precu1:
chtěl bych mít menu vypisované pomocí js (kvůli rychlosti)
Nemáš-li menu velké několik desítek kB, bude zrychlení neznatelné. Dokonce tím můžeš načítání zpomalit, protože každý externí skript potřebuje další HTTP požadavek + odpověď. Viz článek Na co stránka čeká.
Takto generované menu neuvidí vyhledávače, protože nezpracovávají JavaScript.

problém je ale v tom, jak do toho odkazu dostat to onclick
Jde to snadno, stačí se nezamotat v uvozovkách. V ukázaném kódu obsahuje proměnná „promenna“ tento kousek HTML kódu:
<a onclick='zobrazSkryj('news'); return false' class='a' href='';>Poslední změny</a>
Zvýrazněné apostrofy ohraničují hodnotu atributu onclick, takže text „news'); return false“ už je mimo. Též tam máš nadbytečný středník za atributem „href“, ale ten nevadí.

Platí tato pravidla:
1) Uvnitř hodnoty atributu musíš použít jiný druh uvozovek, než které ohraničují tu hodnotu, nebo je zapsat entitou (&#34; pro uvozovky, &#39; pro apostrof).
2) Uvnitř hodnoty řetězce musíš použít jiný druh uvozovek, než které ohraničují tu hodnotu, nebo je zapsat escape sekvencí (tzn. s předřazeným zpětným lomítkem).

a v index.html ho vložim pomocí <? include "menu.html"; ?>
Server se musí nějak dozvědět, že jsou v kódu kousky PHP, které by měl zpracovat. Změna koncovky bude asi nejjednodušší.
preca1
Profil
Chamurappi
díky za reakci.
když to shrnu, nejlíp udělam, když tam necham ten iframe a nebudu to řešit

to s těma uvozovkama je pro mě novinka, ale když se nad tim zamyslim je to úpně logický :). a za tim středníkem bylo něco s onmouseover a out a omylem sem ho neumazal

k php: dík

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:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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

0