Autor Zpráva
Machi
Profil
Zdravím, vytvářím vlastní stromové menu v JS. Funguje na tomto principu, jenže mám jeden problém. Chtěl bych otavření nebo zavření provádět po kliknutí na obrázek plusu nebo mínusu (plus v případě, že jde menu otevřít, mínus v p případě zavření). Rád bych věděl, jak toho docílit, ve standardním případě totiž obrázek zůstavá pořád stejný. Nutné je, aby se obrázek měnil s každým otevřením nebo zavřením menu. Díky moc... (v JS jsem naprostý amatér, tak bych prosil nějaké jednoduché vysvětlení :))
Machi
Profil
A teď navíc vyvstal další problém. Když chci v kterémkoliv prohlížeči menu otevřít nebo zavřít, musím kliknout někam do prostoru a pak až na obrázek, předtím to nefunguje :( Prosím o radu.. Výtvor najdete zde: http://mirandakex.cz/temp/enc/

EDIT: Tak tohle jsem vyřešil, stačilo nacpat styl příímo do elementu div...
filip186
Profil
Já mám někde v počítači uložené podobné menu (už nevím kde jsem k tomu přišel) a tam, nejsou ty plus a mínus, ale nějaký složky a už nevím co přesně.

Ale nejlepší je asi hledat. Na internetu toho je dost.
Machi
Profil
filip186 No jo, hledal jsem, ale všecko jsou to docela staré věci a nejsou vytvořené tím primitivním způsobem jak to tam mám já :(
filip186
Profil
Jinak asi před 3 lety jsem udělal menu, které měnilo ty pluska a mínusy, ale jde jen v IE, což je na nic.
peta
Profil *
http://www.volny.cz/peter.mlich/www.htm#mssub21

filip186
Je a neni. Obvykle se da najit sikovny clovek, co ti to predela i do FF. Nemel by to byt takovy problem.
peta
Profil *
Machi
<img src="obrazek1.gif" onclick="akce(this,'neco')">
<div id="neco">
xxx yyy zzz
</div>

function akce(aaa,bbb)
{
// aaa = this
// bbb = neco
var ccc = new Array ("obrazek1.gif","obrazek2.gif");
var ddd = new Array ("none","block");
bbb = objGet(bbb); //kde objGet je nejaka funkce typu document.getElementById
aaa.src = aaa.src==ccc[0] ? ccc[1] : ccc[0];
bbb.style.display = bbb.style.display==ddd[0] ? ddd[1] : ddd[0];
}

nebo tuto cast napsat jako:
aaa.src = aaa.src==ccc[0] ? ccc[1] : ccc[0];
bbb.style.display = bbb.style.display==ddd[0] ? ddd[1] : ddd[0];
->
if (aaa.src==ccc[0])
{
aaa.src==ccc[1];
bbb.style.display==ddd[1];
}
else
{
aaa.src==ccc[0];
bbb.style.display==ddd[0];
}

nebo ->
var a = aaa.src==ccc[0] ? 1 : 0;
aaa.src = ccc[a];
bbb.style.display = ddd[a];

A uplne nejlepsi je takove cele vygenerovat javascriptem nebo aspon akcni cast do nej doplnit javascriptem na UL LI.
S tim pohybujicim TITLE jw to pekne :) Si udelam asi nejake podobne menu :)
peta
Profil *
Machi jinak barvy, dej mi silu nic nerict :) Urcite pridej vice bile, aby vybledly, zvlast pozadi pod menu bych dal tmave zelenou, vybledlou, podobnou, jako mas v H2O logu.
Machi
Profil
peta: diky za namahu, ale jsem asi taková lama, že mně ani tohle nefunguje :( Stejně jsem se nakonec rozhodl, že tam nechám jen to plus, skoro ničemu to nevadí a pokud to nebude prohlížeš pako, tak to snad pochopí :) Jo, ta modrá je děss, jdu tam dát lepší barvu...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0