Autor Zpráva
joe
Profil
Ahoj,

potřeboval bych zase radu. Mám na stránce obrázky a teď chci, že když na něj najedu, tak se objeví DIV, který je větší a překrývá další obrázky.
A teď bych chtěl, že jakmile budu nad tím obrázkem, co je zakrýtý tím DIVem, tak aby se vyvolala událast onmouseover toho obrázku (právě i když je zakrytý...)

Protože ten DIV může být velký, jednoduše by docházelo k tomu, že bych nemohl pak najet na ty ostatní obrázky. Jde to nějak udělat? Prosím o navedení jak na to..

Díky
Darker
Profil
document.getElementById('obrazek').onmouseover()

Pak už jen ověřiješ souřadnice. Ale možná to jde chytřeji.
joe
Profil
Jistě, ale ten obrázek je zakrytý divem, takže mi k události onmouseover nedojde.
Darker
Profil
Ajajaj.
To co jsem ti ukázal, je způsob, jak událost provést, ať už proběhla nebo ne.

BTW: Je pěkně na palici aby program reagoval na něco, co uživatel nevidí...
joe
Profil
Darker:
Píšeš zcestně, asi nerozumíš tomu, na co se ptám. Pro tebe to možná na palici je, ale na to jsem se neptal...
josefadamcik
Profil
Superjednoduchý způsob není. Ale jedna cesta mě napadá.

1) přidat mousemove na div, který je zobrazený přes obrázky

2) při zachycení události div skrýt
3) vytáhnout z eventu pozici myši (bacha na rozdíly mezi prohlížeči, ale ty buď umíš vyřešit, nebo používáš knihovny, která to udělá za tebe)
3) zjistíš, nad kterým elementem myš je. K tomu slouží document.elementFromPoint měla by fungovat FF, IE (možná jsem někde narazi lna problémy s IE6, ale nejsem si jist) Pak je tam ještě tuším problém se starším webkitem , které počítalo pozici jinak. V novějších verzích to již je v pořádku. více informací
4) opět zobrazíš div
5) zachováš se tak jak by seschtěl zachovat, pokud sjedeš s obrázku


Je to trochu divoké, ale dohromady se to dát dá. Něco podobného už jsem implementoval.
_es
Profil
josefadamcik:
Jednoduchšie je zobraziť tie obrázky nad divom, no aby boli úplne priehľadné.
joe
Profil
josefadamcik:
Jasné, rozumím, díky. Čekal jsem, že budu muset kontrolovat pozice myši a porovnávat je s pozicí elementy pod divem.

Díky za odpovědi.

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:

0