Autor | Zpráva | ||
---|---|---|---|
gekoncik Profil |
#1 · Zasláno: 13. 8. 2008, 19:27:08
Ahoj,
mám tento kód: <div onMouseOut="this.style.visibility='hidden'"> ... <table> ... </table> ... </div> Takže tabulka v divu, který zmizí při odjetí z divu, ale jakmile kurzor najede na tabulku je mimo div a všechno zmizí - chyba. Existuje nějaká událost, nebo nějaký scriptík, aby bral tabulku jako součást divu? Nebo tabulku ignoroval? V podsťatě jde o kalendář v formuláři, který je vypisovám v divu a zobrazovám po kliknutí na ikonku malého kalendářiku. A já potřebuju aby celý kalendář zmyznul po odježí myši. (Pokud máte i nějaký návod jak udělat trošku časovou odezvu při odjetí tak ho rád uvítam) |
||
peta Profil |
#2 · Zasláno: 13. 8. 2008, 20:15:06
gekoncik
japsatweb - css - position |
||
gekoncik Profil |
#3 · Zasláno: 13. 8. 2008, 21:27:54
peta
Nějak nechápu co tím myslíš? Zkoušel jsem různé pozition: [absolute, relative], kromě rozhození ramečků žádná změna. |
||
Leo Profil |
#4 · Zasláno: 13. 8. 2008, 22:53:04
|
||
gekoncik Profil |
#5 · Zasláno: 13. 8. 2008, 23:06:29
Něco více česky :)
|
||
peta Profil |
#6 · Zasláno: 14. 8. 2008, 08:20:01
A precetl sis cely ten text? position je fajn, ale tez je treba umet nastavit z-index.
A nenapsal jsi, ve kterem prohlizeci ti to zlobi, zadnou ukazku, co pise JS konzola a dalsi podrobnosti? Treba v IE dost zlobi SELECT, ktery nejde nicim jinym prekryt, pokud neni v iframu. Pravdepodobne to bude chybne provedene floatovani. Zkus si udelat jednoduchy priklad uplne mimo jen tady s timto. |
||
gekoncik Profil |
#7 · Zasláno: 14. 8. 2008, 09:20:28 · Upravil/a: gekoncik
Ono to není syntaktická chyba, ale "logická". Zlobí to ve všech prohlížečích.
----------------------------------- okolní stránka +--------+ |#ab | |+----+ | ||#zy | | |+----+ | +--------+ ----------------------------------- Když u #ab nastavím onmouseout....style.color = 'red'. Kdy se text v #ab nastaví na červenou? Při odjetí z #ab :) Ale funguje to když odjedu na okolní stránku - super, ale jakmile kurzor najede na #zy a to je jiný objekt už myš "odjela" z #ab a text se obarví na červenou (v #ab). Z-index taky nefunguje :) |
||
peta Profil |
#8 · Zasláno: 14. 8. 2008, 13:21:49 · Upravil/a: peta
gekoncik
jak uz jsem psal, ukazku, podrobnosti, co pise js konzola, co pise validator? zadne udaje nemam. Kdyz ti to napisi ja, tak to bude fungovat, at uz to napisi tim samym nebo jinym zpusobem. To problem ale neresi :) jeste muzes dat vsem vnorenym tu udalost. Ale myslim si, ze tam mas nekde chybu. |
||
gekoncik Profil |
#9 · Zasláno: 14. 8. 2008, 14:35:08
Konzole mi chybu nehlasí. Je to správně napsané, pouze když kurzor najede na jiný objekt v divu - tabulku, select tak je myš mimo div. I když opticky je v něm, ale pouze je na jiném objektu. Ale pokud máš nějaké řešení tak jsem udělal jednoduchý příklad stačí když si vytvoříš div a v něm tabulku. U divu nastaviš něco ve stylu:
onmouseout='alert("myš je pryč")' Jen říkám že konzole mi nic nehlásí, jak opera dragonfly tak FF chyb. konzole. Nevím už jak bych ti to přiblížil je to jako když máš funkci na náhodné číslo. Bohužel ti generuje čísla od 1 do 100, ale ty potřebuješ čísla od 0 do 1 a co stím? Musíš to upravit aby ti to vracelo hodnoty jaký chceš a já chci definovat oblast v DIVU včetně vnořených objektů, ne jako "díry", které tam vytváří vnořené objekty. V jedné věte: Div má onmouseout='blaaaa blaaa', když nejedu na vnitřní objekt provede se blaaaa blaaa a to je chyba. Jak pravit kód aby bral onmouseout pouze když vyjede z DIVu. |
||
gekoncik Profil |
#10 · Zasláno: 14. 8. 2008, 16:01:24
Změna plánu, trošku jsem si to rozmyslel a onmouseout není v tomto případě dobrá volba.. Asi by bylo lepší kdyby uživatel kliknul mimo DIV a pak by zmyzel :)
|
||
joe Profil |
#11 · Zasláno: 14. 8. 2008, 16:13:49
gekoncik
Možná by bylo lepší použít pseudotřídu :hover a na starších to řešit pomocí JS a nebo tam by to mohlo být pořád :-) peta A co kdyby sis to radši zkusil a neplácal tu blbosti a tvé oblíbené sekce na webu JPW. Čekal jsem, že když už něco napíšeš, víš že tam je řešení, ale kdepak, nevíš nic... |
||
gekoncik Profil |
#12 · Zasláno: 14. 8. 2008, 16:36:50
Hover nefunguje :(
|
||
Dero Profil |
#13 · Zasláno: 14. 8. 2008, 17:25:15
gekoncik
Pro IE stačí použít události onMouseEnter a onMouseLeave. Pro ostatní prohlížeče je třeba napsat jednoduchý skript s využitím vlastnosti relatedTarget. Ukázku máš na stránce, kterou posílal Leo. Příliš angličtiny k porozumění nepotřebuješ. Když ti navíc prozradím, že tato vlastnost nese v případě onMouseOut odkaz na prvek, kam myš směřuje, tak je snadné jednoduchou podmínkou provedení události zrušit v případě, že myš přejíždí na vnořený objekt. |
||
peta Profil |
#14 · Zasláno: 14. 8. 2008, 20:00:08 · Upravil/a: peta
joe
ja jsem si to zkusil, mne to vsechno funguje. Mam prohlizec Firefox 2, pouzil jsem obycejny div, obycejnou tabulku, obycejny select, obycejny onmouseover. Co mam on jsem se do ted nedozvedel. Jak vypada jeho jednoduchy priklad s chybou take ne. Zatim vim jen to, ze JS konzola zrejme nehlasi chybu. A pro upresneni, v IE ma tabulka marnin. Pokud neni jeho div ohranicen rameckem border, pak se margin prenasi mimo div a to muze zpusobit tez zavirani. Takovych pricin je mnoho, staci se podivat do starsich tema. Otazka je, co presne tam ma on. Bez toho se dal nedostanes. Nebo muzu vsech 100 pricin jmenovat, coz je ztrata casu, delat to pokazde 5x za tyden. Dalsi pricina je chybny float, treba, coz jsem psat, tez jsem se zatim nedozvedel, zda tam je nebo neni nejaky float. gekoncik kdyz uz je zminka o tom selectu, tak select v IE6 nelze nicim prekryt. Vykresluje se nejakou WIN funkci a tu muzou prekryt jen dalsi takove. Jedina moznost je pouzit Iframe kolem nej. Tim padem to muzes cele otevrit v novem okne a ccely problem se z casti zjednodusi, u predavani udaju do okna nad trosku zkomplikuje. jakpsatweb - javascript - objekt window jakpsatweb - javascript - priklady - objekt window |
||
Dero Profil |
#15 · Zasláno: 14. 8. 2008, 20:09:03
peta: O selectu jsi naprosto mimo téma začal hovořit ty. Nepochopil jsi dotaz. Rozvádět toto téma dále (a ještě k tomu nepřesně) je zbytečné. Buď srozuměn s tím, že další zavádějící příspěvky do tohoto vlákna ti budu mazat.
|
||
peta Profil |
#16 · Zasláno: 15. 8. 2008, 15:56:15
Dero
"Konzole mi chybu nehlasí. Je to správně napsané, pouze když kurzor najede na jiný objekt v divu - tabulku, select tak je myš mimo div." Bud to tam ma nebo to zkousel jedno nebo druhe, kdyz jsem se o selectu zminil. To se z vety poznat neda. |
||
Časová prodleva: 2 roky
|
|||
zgr Profil * |
#17 · Zasláno: 28. 1. 2011, 14:01:00
gekoncik:
do všech vnitřních objektů mizejícího divu musíš nacpat onmouseover kterej parentNoda opět zobrazí. to bude asi tak nejjednodušší. |
||
Witiko Profil |
#18 · Zasláno: 28. 1. 2011, 22:31:27 · Upravil/a: Witiko
Buď již zmíněný relatedTarget nebo celý div něčím zvrchu přiklopit, říkejme tomu myšolap.
|
||
Časová prodleva: 13 let
|
0