| Autor | Zpráva | ||
|---|---|---|---|
| leorond Profil |
#1 · Zasláno: 9. 8. 2016, 15:21:56
Ahoj, mám menší problém s Menu které vyvíjím pro své stránky a to konkrétně s JS který zařídí že po kliknutí na položku v menu se zobrazí sub menu.
Všechno funguje správně ale potřeboval bych nějak zajistit aby po kliknutí například na Menu 2 se uzavřelo Menu 1 které jsem před tím rozklikl, současná situace je taková že pokud rozkliknu Menu 1, Menu 2 a Menu 3 tak mi zůstanou všechny otevřené. menu.js function zobrazSkryj(idecko){
el=document.getElementById(idecko).style;
el.display=(el.display == 'block')?'none':'block';
}Zde přikládám ještě ukázku menu aby jste viděli funkčnost Ukázka |
||
| user Profil * |
#2 · Zasláno: 9. 8. 2016, 16:23:53
co treba:
function zobrazSkryj(idecko){
document.getElementById(menu1).style.display = 'none';
document.getElementById(menu2).style.display = 'none';
document.getElementById(menu3).style.display = 'none'
el=document.getElementById(idecko).style;
el.display=(el.display == 'block')?'none':'block';
} |
||
| juriad Profil |
#3 · Zasláno: 9. 8. 2016, 16:57:05
function ZobrazSkryj(def) {
def = def || 'block';
var el = null;
return function(idecko, state){
if (el && el.id != idecko) {
el.style = 'none';
}
el = document.getElementById(idecko);
if (state === undefined) {
el.style.display = (el.style.display == def) ? 'none' : def;
} else {
el.style.display = state ? def : 'none';
}
};
}
var zobrazSkryj = ZobrazSkryj();Trošku rozšířená verze se zachováním původní funkčnosti. Funce zobrazSkryj (ano je to funkce) si pamatuje poslední element - ten vždy skryje.
U elementu se zadaným ideckem změní jeho zobrazení. Navíc umí nastavovat stav (nejen ho invertovat) a je možné vytvořit několik nezávislých kopií. Příklad demonstrující všechny možnosti: Živá ukázka |
||
| leorond Profil |
user: Zdá se mi zbytečné pokaždé když chci přidat položku do menu, upravovat JS.
juriad: Děkuji jdu to dát dohromady :) Mohu se ještě zeptat, co kdyby jsem chtěl zakrývat i v případě že kliknu mimo sub menu? Jak by přibližně vypadala úprava JS? A tedy abych nemusel zakládat další vlákno, co kdybych chtěl aby se + měnilo na - při rozkliknutí menu? |
||
|
Časová prodleva: 9 let
|
|||
0