Autor Zpráva
KolonicnyR
Profil
Dobrý den,

předem Vám chci poděkovat za Vaše rady a ochotu mi pomoct. O co jde?

Pracuji nyní na eshopu pro kamaráda, zde je odkaz : http://kolonicny.cz/Outlet/index.html, ale jakmile si najedete kurzorem na položku v menu "DAMSKE" tak se Vám rozjede submenu, ale problém spočívá v tom, že třídy .col by se měli zobrazovat vedle sebe, nikoli pod sebou.

Nevíte co stím je?

Děkuji
Martin02
Profil
KolonicnyR:
Problém je v tom, že když <div class="sub"> má nastavený width: auto, nebudou fungovat ty dva divy co mají float: left.
Takže nastav tomu <div class="sub"> přesnou šířku a půjde to.
KolonicnyR
Profil
no prave jsem myslel, ze kdyz nastavim width auto, ze se submenu bude roztahovat dle potreby. Takhle to nepujde?
peta
Profil
KolonicnyR:
Auto = pouzij prednastavenou hodnotu. Pro div je to 100% sirka nadrazeneho aktualniho bloku nebo sirka stranky. Kdybys tam dal B, tak to ma auto = sirka textu.
KolonicnyR
Profil
jde mi o to, treba .col bude mit sirku 200px, takze chci aby kdyz bych tam mel max 3 col tak aby to melo width: 600px, a proste se roztahovat dle poctu colu... jak na to??
Martin02
Profil
KolonicnyR:
Přes javascript se dá zjistit, kolik tam je prvků .col a podle toho určíš šířku.
<script type="text/javascript">
  var pocetPrvku = document.getElementsByClassName('col').length; /* Počet prvků, které mají .col */
  var sirka = pocetPrvku * 200; /* Krát šířka každého prvku */

  document.getElementsByClassName('sub')[0].style.width=sirka+"px"; /* Nastavení šířky pro <div class="sub"> */
</script>
Chamurappi
Profil
Reaguji na Martina02:
Metoda getElementsByClassName nefunguje ve všech prohlížečích.
Řešit podobnou věc přes JavaScript je ptákovina.
Martin02
Profil
Chamurappi:
A řešit to přes jquery je ok? To myslím funguje všude.
panther
Profil
Martin02:
A řešit to přes jquery je ok?
jQuery je jen framework, je to JavaScript. Celkově do tohohle tahat jakýkoliv JavaScript (tím rozuměj i frameworky, nebo spíše zejména frameworky) je blbost. Pokud neodlišíš, co je a co není JavaScript, vypni si ho v prohlížeči a hledej řešení fungující i bez něj.
peta
Profil
KolonicnyR:
Osobne bych se rozbalovacim menickam snazil vyhnout. Ovladatelnost na mobilu s dotykovym displejem je trosku narocna.

Obavam se, ze to, co chce, asi bez javascriptu neudela. Jestli to spravne chapu, tak chce docilit tohoto:
Rozbalene damske
--- PÁNSKÉ --- [DÁMSKÉ] --- DĚTSKÉ --- SPORT --- DOPLŇKY ---
------------------ aaa --- bbb --- ccc --- ddd --- eee --- fff ---
------------------ ggg --- hhh --- iii --- jjj ---
Rozbaleny sport
--- PÁNSKÉ --- DÁMSKÉ --- DĚTSKÉ --- [SPORT] --- DOPLŇKY ---
---------- aaa --- bbb --- ccc --- ddd --- eee ---
-------------- fff --- ggg --- hhh --- iii --- jjj ---
Takze musi spocitat sirku toho podmenicka v zavislosti na poloze zleva a jeste urcit, na kterou stranu se to bude rozbalovat, zda doprava nebo doleva
KolonicnyR
Profil
http://kolonicny.cz/Outlet/index.html

kdyz se podivate znovu, tak jsem tam vlozil ten script, ktery poslal Martin02 a nefunguje, neslo by to nejak lehce napsat pres jQuery, nebo tak?
jenikkozak
Profil
KolonicnyR:
tak jsem tam vlozil ten script, ktery poslal Martin02 a nefunguje
- Ten skript se provede v době, kdy ještě na stránce není prvek, kterému chceš nastavovat rozměr.
- Jeho problémem je také to, že nastavuje všem sloupečkům šířku 200 px bez ohledu na jejich skutečný rozměr. Když to takhle děláš, můžeš šířku nastavit rovnou v CSS i bez JavaScriptu.
- Plně souhlasím s Chamurappim, že je divný nápad řešit vzhled pomocí JS.

Součet velikostí těch tří sloupců vlož jako šířku nadřazeného prvku a máš pokoj. Pokud vážně, vážně chceš mít počet sloupců proměnný, spočítej je jednou (při úpravě jejich počtu) na serveru a nenuť klientské prohlížeče, aby si je pokaždé počítali zvlášť.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: