Autor Zpráva
bohumil
Profil *
Ahoj,

pomocí javascriptu jsem si vytvoril "dialogove" okenko, který obsahuje textove pole. Toto dialogove okno je umisteno do stredu stranky, respektive cast puvodni stranky zakryva. Potrebuji, aby vsechny html prvky na strance byly neaktivni (na odkazy by neslo kliknout, ani vyplnit nejake formulare, ci stisknout tlacitko). Aktivni by byly prvky pouze v tom dialogovem okne.

Nevite, jak deaktivovat vsechny html prvky na strance? Dik
Dero
Profil
bohumil: Co zkusit ono dialogové okno vykreslit na absolutně pozicovanou plochu se z-indexem větším než mají všechny ostatní pozicované prvky na stránce a s rozměry width i height rovnými 100%? Tím by se daly zablokovat všechny akce myší.
bohumil
Profil *
no jenomze timpadem by byo dialogove okno pres celou obrazovku, a to nechci. Chtel jsem udelat neco podobneho jako je lightbox ci jeho odvozeniny, ktere misto obrazku umi zobrazovat html. Tedy aby se html prvky zneaktivněli a zároveň, aby ta stránka zešedla. Celé řešení lightboxu respektive thickboxu je ale příliš nabobtnalé. Mě by stačilo, kdyby to fungovalo pod IE. No asi to nějak rychle udělat nejde. Kdybyste věděli o nějaké hotovém řešení typu lightbox s co nejmenším počtem řádků, napište mi. Dik
zero0x
Profil
tak to si daj pod to okno nejaky dalsi div - prekrytie - ktory ma rozmery 100% a ma nejaku alpha - cize je polopriehladny. presne tak to riesi aj lightbox.

je to jednoduche, len sa treba trochu pohrat s css a jscriptom.
Dero
Profil
bohumil: Přesně tak, jak říká zero0x jsem to i myslel. Dialogové okno (samostatná vrstva) NA další samostatnou (poloprůhlednou, průhlednou) vrstvu s height, width 100%.
bohumil
Profil *
Diky. je to super reseni.

Jeste jednu vec bych potreboval:

mam nejaky div a u nej definovanou udalost onmousemove. Pri najeti s mysi pres ten div se mi ma zmenit pozadi divu. Tomu se tak i deje, ale jenom, kdyz prejedu pred nejaky text v tom divu. Nefunguje to, kdyz najedu na prazdne misto, kde neni text, ale div tam preci jen uz je. Zajimave je, ze kdyz tomu divu nastavim border napriklad na dashed, tak uz to funguje bez problemu - at najedu na jakekoliv misto v divu, pozadu se zmeni. Nevite, jak zajistit, aby to fungovalo i bez toho nastaveneho borderu?
Leo
Profil
"Nefunguje to, kdyz najedu na prazdne misto, kde neni text, ale div tam preci jen uz je. Zajimave je, ze kdyz tomu divu nastavim border napriklad na dashed, tak uz to funguje bez problemu - at najedu na jakekoliv misto v divu, pozadu se zmeni."

V IE? Leo
bohumil
Profil *
Presne tak - konkretne v IE7
Dero
Profil
bohumil: IE mívá problémy s prázdným místem bloků, dá se najít souvislost s interním příznakem has-layout. Je třeba IE přinutit, aby si musel ověřit souřadnice všech čtyř rohů bloku. Toho se dá dosáhnout několika různými metodami, rozhodně z hlavy nevypotím všechny.

1) nastavit width DIVu na libovolnou hodnotu jinou než auto
2) nastavit height DIVu na libovolnou hodnotu jinou než auto (v quirku je ideální height: 1px;)
3) floatovat prvek vlevo nebo vpravo
4) absolutně takový prvek pozicovat
5) nastavit vlastnost zoom: 1 (pozor, nevalidní, ale jinak ideální řešení)
6) nastavit libovolný aplikovaný (tedy odlišný než none a 0px) border

... atd. Určitě by se dalo přijít na další triggery. Já používám často rozměry nebo vlastnost zoom, o validitu mi totiž nejde.
bohumil
Profil *
Diky. Problem vyresen.
Bylo to ale trochu slozitejsi. Mel jsem totiz dva divy vedle sebe:jeden float left, u praveho divu float nebyl nastaven - a to prave zpusobovalo ten problem, proc se pri najeti na ten levy div menilo pozadi jen nekdy. Po nastaveni floatu na right u toho druheho divu, to vypada, ze to funguje.
Leo
Profil
"Bylo to ale trochu slozitejsi. Mel jsem totiz dva divy vedle sebe:jeden float left, u praveho divu float nebyl nastaven - a to prave zpusobovalo ten problem, proc se pri najeti na ten levy div menilo pozadi jen nekdy. Po nastaveni floatu na right u toho druheho divu, to vypada, ze to funguje."

Nejaky minimalni kod, kde to blbne/blblo by nebyl? Leo
Toto téma je uzamčeno. Odpověď nelze zaslat.