Autor Zpráva
kuzmic
Profil
Dobrý den,

chtěl bych moc poprosit o radu s jedním skriptem.

Připravil jsem si navigaci, kde po najetí na příslušnou položku zobrazuji obsah. Aby nedocházelo při najetí na položku navigace k jejímu neustálemu zobrazování, přidal jsem k události mouseover timeout, který obsah navigace zobrazí až po 300ms. Toto vše pracuje v pořádku, ale narazil jsem na problém, že jakmile dojde k zobrazení obsahu, tak nejsem schopem se do něho myší dostat, protože tento prvkem opět zmizí.

Ukázka:
http://jsfiddle.net/kuzmic11/x5gX9/

Pokud funkci pro timeout zakomentuji, tak vše pracuje v pořádku viz.:
http://jsfiddle.net/kuzmic11/x5gX9/1/

Nevěděli byste prosím jak dosáhnout toho, že budu schopen dostat se myší do zobrazeního obsahu?

Předem moc děkuji za pomoc a rady.

Kuzmic
Joker
Profil
kuzmic:
Připravil jsem si navigaci, kde po najetí na příslušnou položku zobrazuji obsah.
Ve skutečnosti se ten obsah zobrazuje pořád. Po najetí na položku se mu akorát změní rozměry.

Jinak ono by to fungovalo tak jak to je, kdyby podmenu nemělo position:absolute a nastavené umístění. Tím mezi tlačítkem a podmenu vznikne díra, která vyvolá onmouseout.
A trochu mimo téma, prodleva mezi najetím na tlačítko a zobrazením podmenu (kdyby se podmenu reálně zobrazovalo) mi z pohledu uživatele přijde matoucí. Lepší by byla (kdyby se podmenu reálně skrývalo) naopak prodleva mezi odjetím myši a skrytím podmenu (přičemž nové najetí na podmenu by ten timeout zrušilo).
Taky to nebude fungovat návštěvníkům bez JavaScriptu.
kuzmic
Profil
Proč ta prodleva. Ono jde o to, že těch prvků v navigaci je cca 6. Momentálně to mám řešené jako hover, což při přejetí myší vyvolá takový záblesk. Ten jsem právě chtěl eliminovat tím, že přidám prodlevu. Ale s tím, že to nebude fungovat uživatelů bez JS je dobrá poznámka :-/

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: