- Azonnali alaplapos kérdések órája
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Házi hangfal építés
- Nvidia GPU-k jövője - amit tudni vélünk
- Fejhallgató erősítő és DAC topik
- Vezetékes FEJhallgatók
- Nyaralás előtti hardverszemle
- Kompakt vízhűtés
- HiFi műszaki szemmel - sztereó hangrendszerek
- LG C3: egy középkategóriás OLED tévé tesztje
-
PROHARDVER!
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
Hát eddig azt hittem, hogy azt mondod, hogy kikapcsolt JavaScripttel is megjelenik a lebegő nyelv...
Na de akkor már teljesen egyértelmű, hogy Te a CSS-formázásra gondolsz: ebben nincs semmi misztikum, ma már a legtöbb oldalon többek közt ezzel adják meg az oldal stílusát, kinézetét, a margókat, stb.
A CSS is fejlődés alatt van, az újabb verzióban még több formázási lehetőség lesz elérhető, mint a mostaniban: lekerekíthető sarkok, árnyékolás a "dobozoknak" trükközés nélkül, meg egyebek, amiknek valóban van gyakorlati haszna."ettől kezdve már csak az a kérdés, hogy eszerint a CSS is tud olyan ártalmas lenni, mint a javascript?"
Már miért lenne ártalmas?Ezt tényleg nem értem...
Mellesleg a CSS-formázás sokkal elegánsabb tud lenni, mint ugyanaz JavaScripttel, erre legjobb példa a menüknél, ha arra állítasz be stílust, hogy ha egy elem fölé viszed az egeret, akkor egy másik kép jelenjen meg annak háttereként (ha föléviszed az egeret, akkor mondjuk kap egy világosabb háttérszínt a menü adott gombja) - ez JavaScripttel megoldva (onmouseover, onmouseout) az Internet Explorernek még a 8-as változatában is egy kis átmeneti villanást eredményez, vagyis a képváltás viszonylag lassan történik meg, míg CSS-sel megoldva (elem:hover) nincs ilyen probléma (vagy jóval rövidebb a villanás, erre megoldás a következőkben leírt módszer), és a kód is szebb. Ráadásul az is megoldható, hogy a menüpont alap- és világosabb hátterét egy képfájlban egymás mellé/fölé/alá pakold, és amikor föléviszed az egeret, akkor csak arrébb told a megfelelő pozícióba a hátteret, úgy, hogy akkor már a világosabb háttér jelenjen meg - így meg garantáltan nem lesz minimális "villanás" (háttércsere-késés) sem, tapasztaltam.
A CSS nagyon előnyös tud lenni. -
Sk8erPeter
nagyúr
Most kikerestem neked, konkrétan mi felelős a menü megjelenítéséért:
Forráskód:
229. sor:
<li onmouseout="ddMenuHide();" onmouseover="ddMenuShow('2758','off','global','0.8');" class="tab offmenu" id="dd-menu_2758_lnk"><a href="/emea/2758.html" id="dd-menu_2758_anc"><span>• </span>Partners</a>
<ul id="dd-menu_2758" class="dd-menu">
Ebből a class="tab offmenu" és class="dd-menu" a lényeg: utána a CSS-fájlban ezekre vonatkozóan ez szerepel:
http://www.sonicwall.com/emea/styles_global.css655. sor (kommentbe tettem, ami a lényeg ez egészből):
.navbar .dd-menu,
.navbar .fo-menu {
display: none; /* EZ A LÉNYEG! */
position: absolute;
top: 2.26em;
left: 0.09em;
z-index: 51;
background: #eee;
border: .09em solid;
border-left-color: #eee;
border-top: none;
border-right-color: #707070;
border-bottom-color: #707070;
background: #c2c2c2;
}730. sortól:
.navbar .tab.offmenu:hover .dd-menu,
.navbar .tab.onmenu:hover .dd-menu {
display: block; /* EZ A LÉNYEG! */
}Alapból: display:none; (nem látható), egér fölévitelekor display:block; lesz (megjelenik).
Ennyi a trükk.----
A főoldalon pedig egyértelműen JavaScripttel oldják meg (tehát szerintem nálad a JavaScript kikapcsolásakor a NoScript valamilyen hibája miatt jeleníti meg, vagy valami egyéb hiba miatt):
Forráskód:
248. sor:
<h5><span id="lang_01" class="lang">English</span><a name="North America" href="/us/" onmouseover="showLang('01');" onmouseout="hideLang();" onClick="SetCookie('site', this.name, exp);"><span class="arrow">»</span> North America</a></h5>177. sor:
#countryselectlist .lang {
display: none;
width: 12em;
position: absolute;
top: 0.25em;
left: -13em;
text-align: right;
}
Emiatt tehát alapból display:none; van beállítva neki, vagyis nem jelenik meg.
Az onmouseover-re (fölé viszed az egeret) a JavaScript megváltoztatja display:block;-ra (megjelenik, látható), mert meghívja a showLang() függvényt, majd onmouseout-ra (elviszed róla az egeret) ismét display:none lesz a stílus a hidelang() függvény meghívása miatt:
214. sor:
<script language="javascript" type="text/javascript">
var SpanID = '';
function showLang(ID) {
SpanID = ID;
document.getElementById('lang_'+SpanID).style.display = "block";
}
function hideLang() {
document.getElementById('lang_'+SpanID).style.display = "none";
}
</script>Remélem sikerült tisztázni a kérdést, hogy mitől jelenik meg.
-
Sk8erPeter
nagyúr
Most látom ezt a hsz.-edet: [link]
Eddig a főoldalt mutogattad, hogy ott megjelennek a szövegek, de miért nem ezzel kezdted? Itt a menü megjelenítése CSS-sel van megoldva...
Máskor talán legyél egyértelműbb, és akkor hamarabb kapod meg a választ, és nem kell ötezerszer megkérdezni...
Senki nincs lemaradva, csak nem tudtad feltenni normálisan a kérdést. Eddig nem azt mondtad, hogy a http://www.sonicwall.com/emea oldalt kellene bambulni, azonbelül is a menüsor megjelenését, hanem a főlapot linkelgetted... -
EmberXY
veterán
Hát nincs kizárva, hogy valami kimaradt...
Bár mostanság elkezdtem js-sel foglalkozni, de még rengeteget kell tanulnom, hogy ne érjenek ilyesféle meglepetések...bár így is elég sok fura dologgal találkoztam már, pl hogy megírok egy scriptet, és vagy az IE, vagy a FF nem hajlandó végrehajtani...
Mindig van új a nap alatt, de ezzel a "letiltom, de mégis megy" dologgal bevallom, én sem tudok jelenleg mit kezdeni.. -
EmberXY
veterán
Ez tényleg egy fura oldal... számomra is paranormális, de valóban minden műxik tovább.. biztos, hogy JS ez?
Még a végén azt hinné az ember, hogy flash..
Egyébként amire én gondoltam, az a képen látszik, odarak egy nyelvet, amit a js letiltása után már nem jelenít meg, ekkor még én is azt hittem, hogy mindent értek, de akkor már ketten vagyunk...
-
EmberXY
veterán
A www.sonicwall.com oldalra gondolsz?
Nekem normál esetben a menükön lépkedve aláhúzott lesz a menüpont, és elékerül egy nyelv megnevezés, ha letiltom a js-t, és frissítés nélkül újra próbálom, nálam az aláhúzás ugyan megmarad, de a nyelveket már nem teszi elé, vagyis letiltja ezt a dolgot, bármiféle cache ürítés nélkül is...és ahogy a pipát visszateszem a js mellé, újból megjeleníti..
Én Win 7 alatt FF 3.6-tal próbáltam..... -
Sk8erPeter
nagyúr
Én nem érzem magam "lemaradva"...
Hát nem tudom, Te hogy csinálod, mert most épp Ubuntu alól próbáltam ki, és ugyanúgy ha kikapcsolom a JavaScriptet, akkor onnantól már nem megy... Te figyelj, nem lehet egészen véletlenül, hogy a JS kikapcsolása után nem frissítesz?Mert amíg nem frissítesz, addig működni is fog továbbra is a menü a JS kikapcsolása után is...
Egyébként az ilyesmit már meg lehet oldani CSS-sel is, nem muszáj hozzá JavaScript. De az általad linkelt oldal esetében JS-t használnak. -
Sk8erPeter
nagyúr
Ha le lenne tiltva a JavaScript, NEM működnének a JS-es elemek. Az onmouseover, onmouseout JS-eseményeket hívnak meg, ez nem teljesülhet, ha le van tiltva a JavaScript.
Ha FF alatt tényleg letiltod, neked sem fog működni: Eszközök-Beállítások-Tartalom-JavaScript engedélyezése mellől pipa ki, majd OK. Máris nem fog működni.
Ezek szerint a NoScripted szarul van beállítva.
Új hozzászólás Aktív témák
Hirdetés
- Motoros topic
- Azonnali alaplapos kérdések órája
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Házi hangfal építés
- Suzuki topik
- Lakáshitel, lakásvásárlás
- Formula-1
- Nvidia GPU-k jövője - amit tudni vélünk
- One otthoni szolgáltatások (TV, internet, telefon)
- Kazy Computers - Fehérvár - Megbízható?
- További aktív témák...
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Szinte új, minőségi, állítható ritkítóolló
- LG 48C2 - 48" OLED EVO - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen5 CPU
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS!Gigabyte B650M R7 7800X3D 64GB DDR5 1TB SSD RTX 3080Ti 12GB Corsair 4000D Airflow TG 750W
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest