Wer kann mir Helfen?

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

  • Wer kann mir Helfen?

    Diese Script zuerweiteren für eine zweite Anzeige Ebene. Es muss aber die erste Anzeige Ebene sichtbar bleiben.
    Code:
    var ns = document.layers;
    var ie = document.all;
    var w3c = document.documentElement;
    var menOpen = false;
    var timerOn = false;
    
    function get_element(name)
    	{
        if(w3c||navigator.userAgent.indexOf("Opera") != -1)
        	{
        	return document.getElementById(name);
        	}
        else if(ns)
        	{
        	return eval("document." + name);
        	}
        if(ie)
        	{
        	return eval("document.all." + name);
        	}
        }
    
    function checkTimer()
    	{
    	if (timerOn)
    		{
    		clearTimeout(timerOn);
    		timerOn = false;
    		}
    	}
    
    function startTimer()
    	{
    	timerOn = setTimeout("show();", 10);
    	}
    
    function weg()
    	{
    	if (menOpen)
    		{
    		checkTimer();
    		if ((ns)&&(document.layers[menOpen]))
    			{
    			document.layers[menOpen].visibility = "hide";
    			}
    		if ((!ns)&&(get_element(menOpen)))
    			{
    			get_element(menOpen).style.visibility = "hidden";
    			}
    		menOpen = false;
    		}
    	}
    
    function show(welches)
    	{
    	weg();
    	if (welches)
    		{
    		if ((ns)&&(document.layers[welches]))
    			{
    			document.layers[welches].visibility = "show";
    			}
    		if ((!ns)&&(get_element(welches)))
    			{
    			get_element(welches).style.visibility = "visible";
    			}
    		if (get_element(welches))
    			{
    			get_element(welches).onmouseover = checkTimer;
    			get_element(welches).onmouseout = startTimer;
    			}
    		menOpen = welches;
    	    }
    	}
    Aufruf im der Datei:
    Code:
    <a href="#" onMouseOver="show('N1')" class="a">
    Sinn des Scriptes ist es:
    Es gibt einen Navigationsspalte, beim darüber fahren mit der Maus wird eine Anzeigenebene angezeigt. Es soll jetzt aber noch eine zweite Anzeigenebene hinzukommen, wenn es zu einem Punkt ein Untermenu gibt. Dieses soll aber nur angezeigt werden wenn man mit der Maus darüber fährt.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    wenn du die funktion zweimal aufrufst ??
    <a href="#" onMouseOver="show('N1');show('subN1');" class="a">

    gruss

    Kommentar


    • #3
      Leider geht das so nicht.

      Es verschwindet immer die erste Ebene und dann wird auch die zweite Ebene nicht mehr angezeigt.
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        du kurze frage, warum machst du das nicht in flash?

        Kommentar


        • #5
          weil ich mit Flash nicht arbeiten will(ladezeiten).
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            Hi,

            jetzt muss ich aber mal blöd fragen soll die zweite Ebene aufgehen, wenn Du über die erste fährst, oder schon wenn die erste aufklappt ??

            Grüße, Marcus.

            Kommentar


            • #7
              Sie soll erst auffahren wenn ich auf der ersten Ebene den link streife. Und dann soll die erste Ebene und die Zweite ebene zusehen sein.
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                Re: Wer kann mir Helfen?

                wenn du die funktion show() aufrufst, ruft diese wiederum sofort die funktion weg() auf, die für das ausblenden verantwortlich ist.

                du könntest also noch einen zweiten parameter mit in den aufruf von show einbauen, der wenn du schon auf der ersten unterebene bist, das aufrufen von weg() verhindert.

                Code:
                function show(welches, ausblenden)
                	{
                	if(ausblenden == 1) weg();
                	if (welches)
                		{
                		if ((ns)&&(document.layers[welches]))
                	...
                	}
                aufruf dann bei den links im menü mit
                Code:
                <a href="#" onMouseOver="show('N1', 1)" class="a">
                und bei den links auf der ersten unterebene mit
                Code:
                <a href="#" onMouseOver="show('N1', 0)" class="a">
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Jetzt gehen die Meunes aber nicht mehr zu.

                  Vorher war es so das wenn ich aus ein Menue raus gefahren bin es zu ging. Jetzt bleibt es offen.
                  Zuletzt geändert von Wotan; 13.09.2002, 09:43.
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    Habs hin bekommen. Musste mich nur mal mit Fireworks befassen. und dann gings.
                    *winks*
                    Gilbert
                    ------------------------------------------------
                    Hilfe für eine Vielzahl von Problemen!!!
                    http://www.1st-rootserver.de/

                    Kommentar

                    Lädt...
                    X