Autor | Zpráva | ||
---|---|---|---|
MelkorNemesis Profil |
#1 · Zasláno: 22. 12. 2008, 00:43:39
Ahoj, mam do menu na webu pridany javascript.
Pri prejizdeni pres hlavni kategorie se vam zobrazuji prislune podkategorie. Ale obcas se uzivateli muze stat, ze omylem prejede pres nejakou hlavni kategorii - a je potom dezorientovany (protoze ma byt jine). Proto jsem hlavni menu i submenu obalil do <div id="menu_js" onmouseout="defaultMenu();"></div> a udelal javascriptovou funkci, ktera vzdy vraci spravne menu po odjeti z celeho <div id="menu_js" onmouseout="defaultMenu();"> function defaultMenu() { var target = document.getElementById('sub_menu'); // kam zobrazit puvodni menu var categoryNum = document.getElementById('default_menu').innerHTML; // zjisti cislo kategorie, ktere zobrazit var div = document.getElementById('item_' + categoryNum); // div s prislusnymi submenu target.innerHTML = div.innerHTML; // priradit divu prislusne submenu } Problem je ten, ze onmouseout se aktivuje vzdy, kdyz opustim mysi jakykoliv text. Tudiz se nedostanu do submenu abych si vybral kategorii - a porad se mi tam vraci ta puvodni. Jak mam docilit toho, aby za onmouseout oblast byl povazovan cely div a ne jen text v nem? diky vsem, hezky vecer preji |
||
Leo Profil |
#2 · Zasláno: 22. 12. 2008, 08:03:36
"Ale obcas se uzivateli muze stat, ze omylem prejede pres nejakou hlavni kategorii - a je potom dezorientovany (protoze ma byt jine)."
Tak uz tady jsem prestal chapat, co to ma delat presne. Onmouseout se spousti pri opusteni zanoreneho prvku, to mate pravdu, zalezi na strukture menu v html, jinak musite testovat event.relatedTarget, rodicovske prvky a jine legrace, ale u rozbalovaciho menu jsem to nikdy nepouzil, Leo |
||
MelkorNemesis Profil |
#3 · Zasláno: 22. 12. 2008, 11:38:29
Leo: pokud uzivatel prejede pres hlavni kategorii -> zobrazi se mu prislusne subkategorie -> vybere si subkategorii a klikne, odkaz ho presmeruje. Ale muze se taky stat, ze uzivateli se zrovna donacte stranka a pres hlavni kategorie jen prejede -> zobrazi se mu jine subkategorie nez ty, ktere nalezi aktualni vybrane hlavni kategorii. Tim padem nastava dezorientace, protoze si toho nemusi vsimnout, ze tam ma jine submenu, nez ma byt. A proto bych chtel vzdy pri opusteni celeho menu zobrazovat to puvodni.
|
||
MelkorNemesis Profil |
#4 · Zasláno: 22. 12. 2008, 13:35:39 · Upravil/a: MelkorNemesis
Leo: diky za voditko, postupnym badanim se zda, ze jsem dospel k cili
if(event.relatedTarget.id != 'sub_menu' && event.relatedTarget.id != 'navigation' && event.relatedTarget.name != 'link') { target.innerHTML = div.innerHTML; } ale IE mi jeste hlasi relatedTarget.id is null or is not object .. nevi nekdo proc? // spraveno, ie to ma zas jinak (event.toElement || event.relatedTarget).id |
||
Leo Profil |
#5 · Zasláno: 22. 12. 2008, 18:51:18
"spraveno, ie to ma zas jinak"
jako skoro vsechno. Jinak k tematu: http://www.quirksmode.org/js/events_mouse.html Leo |
||
Časová prodleva: 15 let
|
0