Hirdetés

Keresés

Új hozzászólás Aktív témák

  • FixY67
    senior tag

    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.css

    655. 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">&raquo;</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. :)

    Köszi. Végeredményben az volt a lényeg, hogy nem csak JS alatt lehet ilyen izgő-mozgó menüket létrehozni.

    Ami a főoldalt illeti: totálisan kikapcsolt JS mellett (nem csak noscript, hanem a FF opciók közt letiltott JS mellett is) működik a feliratok változtatása. A nyelv nem jelenik meg mellette, csak ha engedélyezem a JS-t, de aláhúzódik stb. Gondolom, ez is ugyanaz a módszer, mint a belső menü esetén.
    (ettől kezdve már csak az a kérdés, hogy eszerint a CSS is tud olyan ártalmas lenni, mint a javascript? )

  • FixY67
    senior tag

    Most látom ezt a hsz.-edet: [link]
    :W :W 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... :U 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...

    Hóttmind1, mert a főoldalon is megváltozik a felirat, ha fölé viszem az egeret.
    Úgy értem: kikapcsolt/tiltott JS mellett is.

  • FixY67
    senior tag

    Ez tényleg egy fura oldal... számomra is paranormális, de valóban minden műxik tovább.. biztos, hogy JS ez? :F :DDD :DD Még a végén azt hinné az ember, hogy flash.. :D

    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... :DDD
    :R

    Ezért gyanítom, hogy valahol le vagyunk maradva a HTML-féleségek környékén... :)
    Flash nem lehet, mert az nem műxik, ha le van tiltva a JS.

  • FixY67
    senior tag

    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.....

    Nem teljesen... Nyelveket ott nem is láttam (jelzem, noscript műxik :) ), csak azt, hogy az egérkurzortól aláhúzottra vált a menüpont, de ha eggyel beljebb mész (pl. http://www.sonicwall.com/emea/), ott a komplett menü működőképes.

  • FixY67
    senior tag

    Én nem érzem magam "lemaradva"... :D
    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? :U :D 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.

    Mondjuk én Vista alatti FF-t néztem, de most kipróbálom XP alól is egy 3.5-össel, kíváncsi vagyok, ez mit művel.

    Szerk: megnéztem. Itt is működőképes marad a menü a JS tiltása után.

    Szerk2: még akkor is, ha a JS tiltás után kilépek, majd vissza. Cache törlés után is...
    Szóval feladom. Vagy mégis CSS van a dologban - bár az nekem már a kínai kategória.

  • FixY67
    senior tag

    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.

    Ez nem nyert... akkor már ketten vagyunk lemaradva...
    Kikapcsoltam teljesen a JS-t, ez a menü mégis működik.

  • FixY67
    senior tag

    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.

    Én is így gondoltam (egyébként a FF nem 3.0.6, hanem 3.6), épp ezért érdeklődtem.
    Szóval valami nem kerek a noscript körül... :(
    Bíztam benne, hogy csak én vagyok lemaradva ennyire a webes technológiákat illetően és ez már nem JS, hanem valami HTML 10.2 vagy hasonló. :)

  • FixY67
    senior tag

    Valamit nem értek: www.sonicwall.com
    Le van tiltva a javascript. Hogyhogy mégis működik az oldal menüje? :F
    (FF 3.0.6 + Noscript)

    Az ilyen szerkezetek:
    <li class="tab start" onmouseover="endTabOver('global','off');" onmouseout="endTabOut();">
    működéséhez nincs szükség JS-re?

Új hozzászólás Aktív témák

Hirdetés