Hirdetés
- Google Pixel topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy S23 Ultra - non plus ultra
- Hivatalos a OnePlus 13 startdátuma
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Yettel topik
- Okosóra és okoskiegészítő topik
-
Mobilarena
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
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.
-
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. -
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...
-
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...
-
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. -
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.
Új hozzászólás Aktív témák
- ASUS MAXIMUS IX Fordmula és 7700K Eladó!
- Dell Inspiron 3593 15,6 Fullhd i7 16Gb SSD256Gb HDD1TB Win11pro
- Újszerű bivaly Lenovo Thinkpad T16 gen3 (13.gen Core Ultra 7 32Gb DDR5 1 Tb SSD) MAGYAR 30 hó GARI!
- Bivaly Lenovo T14 gen5 (Core Ultra 7 32Gb DDR5 1 Tb SSD) laptopom eladó 30 hónap gyártói garanciával
- Bomba ár! Dell Latitude 3410 - i3-10110U I 8GB I 256SSD I HDMI I 13,3" FHD Touch I Cam I W11 I Gari
- Nintendo Switch Oled // Számal // Garancia //
- Samsung Galaxy A34 5G 128GB,Újszerű,Dobozával,12 hónap garanciával
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- iKing - Apple iPhone 15 Pro Natural Titanium ProMotion 120 Hz, A17 Pro, USB-C 128 GB
- Lenovo ThinkPad T14S Gen1 Intel i5-10310U Refurbished - Garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

(3 óra alvás, kissé nehéz nap, ilyesmik. Sorry.
)



