Sidr
PSD-Tutorials.de

Benötige: Vertikales Aufklappmenü

Dieses Thema im Forum "PHP und andere Scriptsprachen" wurde erstellt von Machinegun, 26.06.2008.

  1. Machinegun
    Offline

    Machinegun Ganz neu hier

    Dabei seit:
    15.04.2006
    Beiträge:
    90
    Benötige: Vertikales Aufklappmenü
    hi volkz,

    bin schon seit längerem auf der Suche nach einem vertikalen Aufklappmenü.
    Habe ja ansich gefunden was ich suche:
    Vertical expanding menu

    Nur ist meine Anforderung, dass dieses Menü sich merkt (vielleicht Cookies?)
    wo es sich gerade befindet, sodass es nicht immer zuklappt auf den Unterseiten (ohne Frames!) sondern aufgeklappt bleibt.

    Vielleicht kennt jemand ne Seite wo ich so ein Menü finde, bzw. wie ich das oben angeführte Menü verändere, damit es eben auf Unterseiten aufgeklappt bleibt.

    greetz,
    mg
  2. Christian
    Offline

    Christian verpeilt & verschallert

    Dabei seit:
    03.03.2005
    Beiträge:
    853
    Geschlecht:
    männlich
    Kameratyp:
    Canon EOS 300D
    Benötige: Vertikales Aufklappmenü
    AW: Benötige: Vertikales Aufklappmenü

    warum erweiterst du das Javascript in deiner Funktion nicht einfach um Cookies?:

    Code:
    <script type="text/javascript">
    
    function montre(id) {
    	var d = document.getElementById(id);
    		for (var i = 1; i<=10; i++) {
    			if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
    		}
    	if (d) {
    		d.style.display='block';
    		setCookie('menue_offen', 'smenu'+id, 7);
    	}
    }
    
    function initialSequence(){
    	var menue_offen	= getCookie('menue_offen');
    	if(menue_offen){
    		montre(menue_offen); // Ich hasse Franzosen. Und Vorurteile.
    	}
    }
    
    /// Quelle:  http://www.w3schools.com/JS/js_cookies.asp
    function setCookie(c_name,value,expiredays)
    {
    	var exdate=new Date();
    	exdate.setDate(exdate.getDate()+expiredays);
    	document.cookie=c_name+ "=" +escape(value)+
    	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
    }
    
    function getCookie(c_name)
    {
    	if (document.cookie.length>0)
    	  {
    	  c_start=document.cookie.indexOf(c_name + "=");
    	  if (c_start!=-1)
    	    { 
    	    c_start=c_start + c_name.length+1; 
    	    c_end=document.cookie.indexOf(";",c_start);
    	    if (c_end==-1) c_end=document.cookie.length;
    	    return unescape(document.cookie.substring(c_start,c_end));
    	    } 
    	  }
    	return "";
    }
    </script>
    Hab's noch nicht ausprobiert, theoretisch sollte es aber gehen



    Gruß
    Peter
  3. Christian
    Offline

    Christian verpeilt & verschallert

    Dabei seit:
    03.03.2005
    Beiträge:
    853
    Geschlecht:
    männlich
    Kameratyp:
    Canon EOS 300D
    Benötige: Vertikales Aufklappmenü
    AW: Benötige: Vertikales Aufklappmenü

    warum erweiterst du das Javascript in deiner Funktion nicht einfach um Cookies?:

    Code:
    <script type="text/javascript">
    
    function montre(id) {
    	var d = document.getElementById(id);
    		for (var i = 1; i<=10; i++) {
    			if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
    		}
    	if (d) {
    		d.style.display='block';
    		setCookie('menue_offen', 'smenu'+id, 7);
    	}
    }
    
    function initialSequence(){
    	var menue_offen	= getCookie('menue_offen');
    	if(menue_offen){
    		montre(menue_offen); // Ich hasse Franzosen. Und Vorurteile.
    	}
    }
    
    /// Quelle:  http://www.w3schools.com/JS/js_cookies.asp
    function setCookie(c_name,value,expiredays)
    {
    	var exdate=new Date();
    	exdate.setDate(exdate.getDate()+expiredays);
    	document.cookie=c_name+ "=" +escape(value)+
    	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
    }
    
    function getCookie(c_name)
    {
    	if (document.cookie.length>0)
    	  {
    	  c_start=document.cookie.indexOf(c_name + "=");
    	  if (c_start!=-1)
    	    { 
    	    c_start=c_start + c_name.length+1; 
    	    c_end=document.cookie.indexOf(";",c_start);
    	    if (c_end==-1) c_end=document.cookie.length;
    	    return unescape(document.cookie.substring(c_start,c_end));
    	    } 
    	  }
    	return "";
    }
    </script>
    Und an das Ender der HTML Datei packst Du folgenden Code:
    Code:
    <script type='text/javascript'>initialSequence();</script>
    Hab's noch nicht ausprobiert, theoretisch sollte es aber gehen



    Gruß
    Peter
  4. Machinegun
    Offline

    Machinegun Ganz neu hier

    Dabei seit:
    15.04.2006
    Beiträge:
    90
    Benötige: Vertikales Aufklappmenü
    AW: Benötige: Vertikales Aufklappmenü

    Danke für die schnelle Antwort.

    warum ich es nicht "einfach" mit einem cookie erweitere? nun, weil ich mich leider nicht auskenn :)

    Hab versucht deinen code einzufügen, nur leider hab ich das nicht gebacken bekommen.
    irgendwie hat das nicht geklappt. aber denke eher es liegt an meiner unwissenheit.

    hab aber nochmals google verstärkt mit englischen suchbegriffen bemüht und wurde fündig:

    Dynamic Drive DHTML Scripts- Switch Menu

    dieses Menü entspricht genau dem was ich gesucht habe!

    Danke nochmals für deine Bemühungen.

    P.s. "// Ich hasse Franzosen. Und Vorurteile." <-- ;)
Drupal Programmierung