Hirdetés
-
LOGOUT.hu
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Ez sztem inkább szerveroldali feladat, belegenerálsz az aktív menüpontba pl. egy "active" class-t, és azt mindig nyitva tartod. Vagy most nézem, a kódodban ez a "current". Az is jó.
De mondjuk ennek nem sok köze van a JavaScripthez, mivel itt a kódodban is szimplán csak HTML+CSS-kombóval oldottad meg.Pl. most egy sort JavaScript-kódot nem raktam hozzá, csupán az Akciók <li>-be beleraktam egy class="current"-et a kódod mintájára, aztán a CSS-kódhoz összesen két sort tettem hozzá, és kész is voltam vele, így az Akciók menüpont mindig nyitva van:
http://jsfiddle.net/96Bu8/11/
Egész konkrétan azt tettem hozzá újonnan, amihez kommentbe odaírtam, hogy /* ÚJ */.Ilyenre gondoltál?
A feladat tehát annyi, hogy szerveroldalon mindig az aktuális <li>-be belegenerálsz (akár sima if-else-ekkel) egy current class-t, ahogy itt is mutattam. Nyilván megoldható egyébként JavaScripttel is, de alapvetően szerveroldali feladatot minek rábízni a kliensre. Persze ha nagyon muszáj megoldani JS-ben, akkor tudunk segíteni benne.
[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
Hát majd remélem valakinek lesz kedve bogarászni, én biztos, hogy nem fogom keresni screenshot meg bármilyen kód nélkül, hol is kellene segíteni.
Ha segítséget kérsz, engedd meg nekünk, hogy lustábbak legyünk nálad egy fokkal.Ja, és erre: "Bocsánat, ha nem volt egyértelmű, nekem annak tűnt..."
Lehetőleg ne keltsd azt az érzetet, hogy még én vagyok a hülye, hogy nem vagyok hajlandó keresgélni, hogy mégis mi a frászt akarsz. Írd le, illusztráld, és akkor nincs ez a tök felesleges oda-vissza kérdezgetés. Kérdezni is tudni kell.[ Szerkesztve ]
Sk8erPeter
-
Karma
félisten
Én személy szerint üdvözlöm, hogy felvállaltad az oldal linkjét, mert így élőben is látható. Nem egy JSFiddle, mert kísérletezni nehezebb, de azért jobb mint képről és irreleváns részletekből dolgozni.
Próbáld meg azt, hogy ezt a javascriptes fost kiirtod, aztán kiegészíted a CSS-t azzal, hogy az oszlopok (mr10 class talán?) display: table-cell;, az őket befoglaló div pedig display: table; attribútumokat kapjanak. Az ötlet forrása itt, harmadik változat.
Másrészt, ha ezt az oldalt kézzel írod, akkor igazán adhatnál a dolgoknál rendes classokat, ID-ket, meg úgy alapból lehetne sokkal egyszerűbb ez a spagetti helyett...
[ Szerkesztve ]
“All nothings are not equal.”
-
Sk8erPeter
nagyúr
Inkább én bocs, így utólag visszaolvasva kicsit túlzás, amit írtam, pedig eredetileg nem szántam ilyen oltósnak, csak kissé fáradt vagyok. (3 óra alvás, kissé nehéz nap, ilyesmik. Sorry. )
OK, látom már a problémát, lejjebb görgettem. (Eddig csak megnéztem gyorsan a kezdőlapot, aztán lefostam.) Igazából ott kezdődik a probléma szerintem, hogy mindezt JavaScripttel akarod megoldani, ahogy martonx már utalt erre.
Sok megoldás van divek egyenlő magasságának megoldására:
http://www.hongkiat.com/blog/css-equal-height/ (nézd a demóját)
http://matthewjamestaylor.com/blog/equal-height-columns-cross-browser-css-no-hacks
http://css-tricks.com/fluid-width-equal-height-columns/ (+demo)
http://codepen.io/micahgodbolt/pen/FgqLcA jelenlegi megoldásban ez az a kód, ami nálad csinálja a dolgot, erre voltam korábban kíváncsi, de lusta voltam megnézni a forráskódot:
function equalHeight(group) {
tallest = 0;
group.each(function() {
thisHeight = $(this).height();
if(thisHeight > tallest) {
tallest = thisHeight;
}
});
group.height(tallest);
}
$(document).ready(function() {
equalHeight($(".mid"));
});Ha a .mid class-ra raksz egy overflow: auto; tulajdonságot, akkor működni fog a jelenlegi is. De akkor ott van a görgetősáv, feltételezem, azt nem akartad korábban, azért vetetted be többek közt ezt a kódot.
Hogy most itt a .height() miért ad vissza rossz magasságot, mármint konkrétan 580px-est a 694px körüli helyett, azt most nincs agyam felfogni.Amúgy a fölső menünél rohadt idegesítő, hogy bizonyos esetekben nem lehet eltalálni a menüpontot, pl. a Rólunk felirat föléviszem, és picit is máshova viszem a kurzort, mint az alsó sáv, akkor már rossz, "kiugrott" belőle. Erről a jelenségről az ennek a hsz.-nek a végén belinkelt cikkben olvashatsz: [link].
http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdownSzerk.:
időközben megelőztek, ugyanazzal a linkkel, amit fentebb én is bedobtam, most láttam, hogy végül nem is küldtem el a hsz.-t, amikor megírtam, csak itthagytam a háttérben az egyik fülön, kész vagyok ma...[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
Szívesen, hogyan oldottad meg végül?
Amúgy megnéztem az oldalt, határozottan jobb, hogy nem JavaScripttel van megoldva. Fura volt, amikor kikapcsoltam a JavaScriptet, és szétesősebben nézett ki, így már tök korrekt.A menüre emlékeztem, hogy mintha ezen alakítgattunk volna valamit régebben, hogy JS nélkül is menjen, vagy valami kinézettel kapcsolatos CSS-buherát.
Viszont azt tényleg megcsinálhatnád valahogy, hogy legyen némi késleltetés a menüváltásban, ha máshova viszem az egérkurzort, mert ilyen vékonyka menücsík esetében nagyon könnyű "elrontani" a navigációt, és más fölé vinni az egeret, és biztos más is belefut, az meg nagyon sokat ront egy oldal összképén, ha van egy ilyen frusztráló dolog - a menü meg elég fontos része egy oldalnak (meghatározza, hogy egy felhasználó hogyan tud egyik oldalról a másikra lépegetni, így kiemelt fontosságú).
Például a Rólunk felirat almenüire szeretnék kattintani, és nagyon könnyű vagy túlzottan fölé- (a fejlécben látható logóra, ami szintén link) vagy alá- (valamelyik akciót hirdető linkre) vagy melléhúzni (pl. másik menüpontra) az egeret, és akkor máris nem tudom elérni az almenüpontokat.[ Szerkesztve ]
Sk8erPeter
-
Sk8erPeter
nagyúr
Jaja, már rémlik.
Most volt egy kis időm, kiegészítettem neked minimális plusz kóddal az előzőt, ami annyit csinál, hogy hozzátesz némi késleltetést JavaScripttel a menüelemek eltüntetéséhez, hogy elkerülhető legyen az almenük túl gyors eltűnése: így a látogatónak van egy kis plusz ideje a navigálgatáshoz.
Jelenleg 1,5 másodpercet tesz hozzá pluszban, de ezt bármikor könnyen megnövelheted/csökkentheted.
A működése egyszerű: hozzátesz egy "hovered" osztályt ahhoz a list itemhez, amely gyerekeleme fölé vitted az egeret. A CSS-kódot csak azzal egészítettem ki, hogy a "hovered" osztállyal ellátott elemekre is vonatkozzon az almenü-megjelenítés.
A CSS-kódban a /* PETE */ kommenttel jelzett kódok azok, amiket hozzátettem; na meg ott van a kommentezett, elég rövid JS-kód.http://jsfiddle.net/Sk8erPeter/96Bu8/16/
Szerintem érdemes lenne ezt beleraknod az oldalad kódjába, hogy használhatóbb legyen a navigációs menü, és ne legyen frusztráló a látogatóid számára.
Szerk.: jQuery-vel írtam meg, mert azt úgyis használod az oldaladon.
[ Szerkesztve ]
Sk8erPeter
Új hozzászólás Aktív témák
Hirdetés
- SONY WH-1000XM3 vezeték nélküli, zajszűrős fejhallgató - HIBÁTLAN ÁLLAPOT
- XFX Radeon Speedster SWFT 319 RX 6800 - BONTATLAN - ALZA GARANCIA
- Bomba ár! Lenovo X1 Yoga 3rd - i5-8GEN I 8GB I 256GB SSD I 14" 2K Touch I W11 I CAM I Garancia!
- Bomba ár! Lenovo X1 Carbon G3: i7-G5 I 8GB I 256GB SSD I 14" QHD I HDMI I Cam I W10 I Gari!
- Bomba ár! Lenovo ThinkPad T450s - i5-5GEN I 8GB I 128GB SSD I 14" HD+ I Cam I W10 I Garancia!
Állásajánlatok
Cég: HC Pointer Kft.
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest