layer steuern mit js

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • layer steuern mit js

    hi

    ich versuche mir grad ein menu mit unterverzeichnissen zu basteln...das klappt soweit auch schon ganz gut.
    ich hab allerdings noch 2 probleme die ich bisher nicht in den griff bekommen konnte:

    1. wenn 1 layer bereits visible ist, moechte ich dass er SOFORT verschwindet, sobald ich einen 2. oeffne. (hab das mit hide(id) versucht...klappt aber irgendwie nicht...)
    und
    2. wenn der mauszeiger von einem link auf einen link im layer und wieder zurueck bewegt wird, wird die funktion do_out_break ignoriert...
    kann mir jmd. von euch weiterhelfen?

    <head>

    <style type="text/css">

    #container1 {position:absolute; top:10; left:100;width:200px; height:130px; background-color:#3399ff;
    visibility:hidden }

    #container2 {position:absolute; top:150; left:100;width:200px; height:130px; background-color:#ccccff;
    visibility:hidden }
    </style>

    <script language="JavaScript">
    ie=(document.all)?1:0
    ns=(document.layers)?1:0
    v4=(ie||ns)

    function show(id) {
    if (ns) {document.layers[id].visibility = "show";return}

    if (ie) {document.all[id].style.visibility = "visible";return}

    document.getElementById(id).style.visibility="visible"}

    function hide(id) {
    if (ns) {document.layers[id].visibility = "hide";return}

    if (ie) {document.all[id].style.visibility = "hidden";return}

    document.getElementById(id).style.visibility="hidden";}

    function do_out(x){
    aktiv=window.setTimeout("hide('container1')",500);}

    function do_out2(x){
    aktiv=window.setTimeout("hide('container2')",500);}

    function do_out_break(x){
    window.clearTimeout(aktiv);}
    </script>

    </head>
    <body>

    <a href="#" onmouseover="show('container1')"; "do_out_break('container1')";"hide('container2'); onmouseout="do_out('container1');">link1</a>

    <br><br>

    <div id="container1">
    <a href="#" onmouseover="do_out_break('container1')" onmouseout="do_out('container1');">blablabla</a><br>
    <a href="#" onmouseover="do_out_break('container1')" onmouseout="do_out('container1');">blablabla</a><br>
    <a href="#" onmouseover="do_out_break('container1')" onmouseout="do_out('container1');">blablabla</a><br>
    <a href="#" onmouseover="do_out_break('container1')" onmouseout="do_out('container1');">blablabla</a><br>
    </div>

    <a href="#" onmouseover="show('container2')"; "do_out_break('container2')";"hide('container1'); onmouseout="do_out2('container2');">link2</a>

    <div id="container2">
    <a href="#" onmouseover="do_out_break('container2')" onmouseout="do_out2('container2');">blablabla</a><br>
    <a href="#" onmouseover="do_out_break('container2')" onmouseout="do_out2('container2');">blablabla</a><br>
    <a href="#" onmouseover="do_out_break('container2')" onmouseout="do_out2('container2');">blablabla</a><br>
    <a href="#" onmouseover="do_out_break('container2')" onmouseout="do_out2('container2');">blablabla</a><br>
    </div>

  • #2
    Hmm ... warum nimmst du nicht einfach die hierMenus?
    die sind perfekt ausgeklügelt, funktionieren auf jedem Browser der mit Layern arbeiten kann und werden flink auf neue Browserversionen angepasst.

    http://www.webreference.com/dhtml/hiermenus/

    oh ... ich seh gerade die sollen jetzt kosten - wenn deine page kommerziell ist oder mehr als vier Seiten hat - schade.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar

    Lädt...
    X