Autor Zpráva
_fantomas
Profil
Ahoj, napísal som si menu, v ktorm ked nabehnete na odkaz tak sa zobrazí "submenu" submenu je ale samostatný div a zobrazuje sa na tom istom mieste.
Potreboval by som zistiť pozíciu odkazu ktorý otvara submenu a samotný div / submenu napozicovať tesne pod odkaz.
Neviem ako by som to mohol spraviť. Máte niejake rady?
Chamurappi
Profil
Reaguji na _fantomase:
Proč nemůžeš dát <div> dovnitř odkazu a pozicovat ve vztahu k němu?
_fantomas
Profil
pretože je to prasárna


a nechápem ako to chceš spravit ..? <a href="">Test <div>Submenu</div></a> ? Ved to je totalna kravina
Bubák
Profil
_fantomas:
Ved to je totalna kravina
Prohlížeče to podporuj od té doby, co jsou DIVy v HTML specifikaci a v HTML 5 do dovoluje.
Pokus s tím máš nějaký problém, dej odkaz na živou ukázku.
_fantomas
Profil
Ak dám do <a href tagu div tak ten div bude odkazovať nie náhodou?
juriad
Profil
Živá ukázka
Upravena ukázka.
Chamurappi
Profil
Reaguji na _fantomase:
Mně přijde jako větší prasárna počítat si nějaké přesné pixelové pozice něčeho, co se teoreticky může po dokončení pozicování změnit. Nikdy jsem nechápal, proč to takhle někdo chce dělat. Mají-li mít mezi sebou dvě pozice nějaký vztah, není nic lepšího, než využít vzájemného uspořádání v DOMu.

Pokud uvnitř submenu mají být také odkazy, tak to je trochu složitější, protože odkazu uvnitř odkazu bych moc nevěřil, ale princip bych neměnil – obalil bych ten první odkaz (má-li to být skutečně odkaz a ne jen cosi s JS činností) a submenu do společného rodiče (nejspíš <span>u) a pozicoval bych ve vztahu k němu. Opět žádné počítání souřadnic.

Prohlížečům nikdy moc nevadilo umístit element s display: block (ještě navíc pozicovaný) dovnitř elementu s display: inline. Dávná poučka ze specifikace o blokových a řádkových elementech měla sémantické důvody a u zakázaných kombinací s elementy <a>, <span> a <div> žádné opodstatnění neměla.
Bubák
Profil
Vlastně je to blbost, protože v tom DIVu submenu asi budeš mít další odkazy, a to nelze.
Pochopitelně, že když dáš do odkazu DIV, tak bude celý klikací, pokud pominu výjimky, jako hrátky s overflow a podobně.
Dej odkaz na živou ukázku, protože to, co chceš, jde udělat bez dalších "opičáren".
Tomáš123
Profil
_fantomas:
A čo ti bráni urobiť to takto:
<div>
  <a href="#">Text</a> <!--ten tag sa volá "a" a href je jeho atribút-->
  <div>Tvoj absolútne poziciovaný obsah</div>
</div>
_fantomas
Profil
živá ukážka nie je možná a ani nie je potrebná. Proste potrebujem napozicovať div presne pod odkaz na ktorý kliknem.
To čo potrebujem je presne tu
http://labs.abeautifulsite.net/jquery-dropdown/
Tiež tam pomocou js pozicuje pod odkaz akurat neviem ten kod akosi opísať aby to fungovalo aj mne.
kod je tu

http://labs.abeautifulsite.net/jquery-dropdown/jquery.dropdown.js

a myslím že je to funkcia position
Keeehi
Profil
_fantomas:
Opravdu to tam pozicují absolutně, ale dá se to i jinak. Živá ukázka Tedy i v mém případě tam absolutní pozicování je, ovšem ne oproti levému hornímu rohu obrazovky ale oproti tomu elementu samému.
Má to svoje limity (jako že se to nemá moc rádo s pravým okrajem, ale to nemusí vůbec vadit)
_fantomas
Profil
Keeehi:
takže žiaden JS, lepšie jak som čakal :) Má to svoje limity (jako že se to nemá moc rádo s pravým okrajem, ale to nemusí vůbec vadit)
ako to myslíš? Tak je to problémové alebo nie? Bude mi to rzhadzovať web?
Tomáš123
Profil
_fantomas:
Keď bude slovo, z ktorého sa to vysunie príliš blízko okraja, môže ti to tam narobiť šarapatu.

Šlo by predpokladať, že sa bude slovo vyskytovať v texte a vysúvaciu ponuku zobraziť napravo. Samozrejme, v prípade, že bude prvok na začiatku riadka, nastane rovnaký problém, ako by bolo slovo v staršej verzii na jeho konci.
Chamurappi
Profil
Reaguji na Keeehiho:
V Exploreru 7 mi nedrží menu otevřené, když zkusím na položky najet, nevím, jak v novějších verzích, to by si měl ještě _fantomas prověřit.

Mezi odkazy bych dal do HTML kódu mezery, protože vyhledávač neuvidí, že jsou nastylované jako blokové. Nespoléhal bych na to, že s odkazy pracuje jinak než s ostatními řádkovými elementy… i když je to dost pravděpodobné.
_fantomas
Profil
Spravil som to trochu po svojom, už to v js mám spravené akurat ešte potrebujem aby sa to šuplo pod odkaz.

http://kod.djpw.cz/pglb

Neviem prečo mi tam ten js nechce fungovať u mna to funguje, ten editor má s tim asi problém.
Tomáš123
Profil
_fantomas:
V tvojej ukážke nikde nevidím zmenu na display: block. Možno preto to „nechce fungovať“.
A vôbec, prečo tak zložito? Šlo by podľa udalosti meniť triedu položky. Prvá trieda by obsahovala štýly pre vypnuté menu. Druhá pre menu, na ktoré klikneš. Inšpiruj sa Keeehiho ukážkou.
Keeehi
Profil
_fantomas:
Komu není rady tomu není pomoci. Neudělal jsi to trochu po svém, ale absolutně jinak. A navíc ten kód se mi tak moc nelíbí, že bych ho rovnou raději celý zahodil. Evidentně je to nad tvé síly. A i kdyby se ti to nějak povedlo poslepovat dohromady, tak se to bude ve spostě případů rozpadat. Takže si buď vymysli něco jednoduššího, nebo nech někoho ať to za tebe pořádně udělá. Buď ať to někdo vytvoří, nebo už to někdo vytvořil knihovnu kterou můžeš použít. Z toho co prezentuješ v poslední ukázce to vypadá spíše na klasické menu než nějakou "kontextovou nabídku" u odkazu ztraceného někde v textu. Hotových řeešení budou desítky. Třeba navbar z bootstrapu getbootstrap.com/components/#navbar s dropdown tlačítky. To tak vypadá na to co chceš a bude to fungovat vždy lépe, než cokoli co vytvoříš sám.

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