php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.03.2009, 17:01  
Neuer Benutzer
 
Registriert seit: 11.03.2009
Beiträge: 23
Black_Sheep befindet sich auf einem aufstrebenden Ast
Standard Aktives Menü ausgeklappt lassen

Ich habe ein Menü in meine Seite eingebaut, dass beim anklicken aufklappt. Wenn ich danach auf einen Link klicke, wird das Menü wieder eingeklappt.
Ich will jetzt aber, dass das Menü mit dem aktiven Link aufgeklappt bleibt.

Kann man da im Javascript irgendwie eine Abfrage einbauen, die das regelt?

Hier der Code:

PHP-Code:
<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
var li = ul.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';}
}
//-->
</script>

<dl id="menu">

        <dt style="height:30px; padding-top:10px; background: #f5f5f5;">Abitur</dt>
            
        <dt onclick="javascript:montre('smenu2');"><a href="#">Aufgaben + Lösungen</a></dt>
            <dd id="smenu2">
                <ul>
                    <li><a href="index4.php?name=<?php echo $typlink?>-01_Abitur-01_Aufgaben + Lösungen + Skripte-01_Analysis" <? if ($nav_left == 1) echo "class=\"nav_left\"" ?>>Analysis</a></li>
                    <li><a href="#" <? if ($nav_left == 2) echo "class=\"nav_left\"" ?>>Analytische Geometrie</a></li>
                    <li><a href="#" <? if ($nav_left == 3) echo "class=\"nav_left\"" ?>>Stochastik</a></li>
                </ul>
            </dd>    
        <dt onclick="javascript:montre();"><a href="#">Prüfungen + Lösungen</a></dt>
        <dt style="height:30px; padding-top:10px; background: #f5f5f5;">Abitur BaWü</dt>
</dl>
Black_Sheep ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.03.2009, 18:06  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Man kann da auch einfach ein CSS Class-Attribut setzen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 13.03.2009, 19:06  
Neuer Benutzer
 
Registriert seit: 11.03.2009
Beiträge: 23
Black_Sheep befindet sich auf einem aufstrebenden Ast
Standard

Mit der css hab ich es bisher nur hinbekommen, den aktiven Text dick zu schreiben. Mehr leider nich.
Black_Sheep ist offline   Mit Zitat antworten
Alt 13.03.2009, 19:12  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

naja, Du mußt das aktive Element dann schon dynamisch durch PHP setzen. Quasi beim Reload dasselbe tun, wie es jetzt JS macht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 14.03.2009, 00:31  
Neuer Benutzer
 
Registriert seit: 11.03.2009
Beiträge: 23
Black_Sheep befindet sich auf einem aufstrebenden Ast
Standard

Hmm, habs versucht jetzt mit nem weiteren Javascript code zu regeln, aber das krieg ich nicht hin.
Mit css und php fehlt mir noch der Ansatz. Weiß nicht, wie ich da was machen könnte.
Black_Sheep ist offline   Mit Zitat antworten
Alt 14.03.2009, 01:18  
Erfahrener Benutzer
 
Registriert seit: 10.11.2008
Beiträge: 163
PHP-Kenntnisse:
Fortgeschritten
iXtends befindet sich auf einem aufstrebenden Ast
iXtends eine Nachricht über ICQ schicken iXtends eine Nachricht über Skype™ schicken
Standard

Du musst bei einem Seitenreload mit PHP gucken, welche Seite bzw. welchen Link du gecklickt hast und kannst so eine CSS Klasse per PHP in das Menü generieren die das Menüelement als Aktiv markiert. Was anderes macht das JS ja auch nicht. Du klickst auf ein Element und eine CSS Klasse wird hinzugefügt. Nur ist das über JS temporär und bei einem Seiten-Reload nicht mehr vorhanden.
iXtends ist offline   Mit Zitat antworten
Alt 14.03.2009, 12:22  
Neuer Benutzer
 
Registriert seit: 11.03.2009
Beiträge: 23
Black_Sheep befindet sich auf einem aufstrebenden Ast
Standard

Ich habe das jetzt mal so versucht, aber so wird da aber nichts aufgeklapptes angezeigt, sondern das menü bleibt zu:

PHP-Code:
$nav_link=$_GET['name'];
        if (
strpos($nav_link,"Analysis")!== false){
            echo 
"<dt style=\"display: block;\"><a href=\"#\">Aufgaben + Lösungen</a></dt>";
        }
        else {
            echo 
"<dt onclick=\"javascript:montre('smenu2');\"><a href=\"#\">Aufgaben + Lösungen</a></dt>";
        } 
Aber das wäre auch keine tolle Lösung, da ich dann ja immernoch überall den String mit dem er vergleichen soll reinschreiben müsste und ich das über jedem Menüpunkt machen müsste. Das sollte aber dynamisch sein..
Black_Sheep ist offline   Mit Zitat antworten
Alt 14.03.2009, 14:46  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Das sollte aber dynamisch sein..
Solange Deine Menüausgabe nicht dynamisch ist, brauchts das auch nicht zu sein.
Zitat:
echo "<dt style=\"display: block;\"><a href=\"#\">Aufgaben + Lösungen</a></dt>";
Im Zusammenhang JS / CSS / class-Attribute empfehle ich immer dieses Vorgehen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 14.03.2009, 15:12  
Neuer Benutzer
 
Registriert seit: 11.03.2009
Beiträge: 23
Black_Sheep befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Solange Deine Menüausgabe nicht dynamisch ist, brauchts das auch nicht zu sein.
Ja, aber ich brauch da noch ein zweites Menü, dass dann dynamisch geladen wird. Da soll dass dann ja auch so sein.

Ich verstehe immer noch nicht ganz, welchen css teil ich ansprechen soll.. Wenn ich den code direkt mal in der css ändere, dann bleibt das menü zugeklappt und kann nicht mehr geöffnet werden, auch wenn der link aktiv ist..
Black_Sheep ist offline   Mit Zitat antworten
Alt 14.03.2009, 16:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Lies meinen Link, dann Antwort #2, vielleicht noch #6. Und so oder so, soilltest Du auch die statischen Menüpunkte dynamisch erzeugen, um die Markierung dynamisch zu generieren. Außerdem: Warum zeigst Du uns dann die statischen Sachen, wenns um das andere Menü geht.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
menu in einer xhtml seite stripes PHP Tipps 2009 31 04.01.2009 14:26
[Erledigt] Menü mit CSS und JavaScript vollkommenegal HTML, Usability und Barrierefreiheit 18 12.11.2008 13:50
horizontales Menü Fritz73 Scriptbörse 9 26.05.2008 22:26
Menü das mitscrollt mristau2k5 HTML, Usability und Barrierefreiheit 3 04.06.2006 18:50
wie gehts schöner/besser? AliceD HTML, Usability und Barrierefreiheit 1 06.09.2005 08:59
Menü Steuerung History !!! PHP Tipps 2005-2 12 23.08.2005 11:51
PHP Menü onMouseOver !!! PHP Tipps 2005-2 6 23.08.2005 00:56
Menü aus MySQL Datenbank ausgelesen PHP Tipps 2005 9 02.06.2005 17:11
PHP Menu mit 2 untermenus PHP Tipps 2005 3 23.05.2005 00:04
Menü auf php-Seite PHP Tipps 2005 20 01.02.2005 20:24
html seite aus menü in php seite einbinden?? PHP Tipps 2004-2 4 21.12.2004 18:00
über ein menü eine datenbankabfrage --> ergebnisse auflis PHP Tipps 2004-2 1 18.11.2004 17:42
[Erledigt] drop down menü werte weitergeben PHP Tipps 2004 3 24.08.2004 15:08
[Erledigt] Wie erstelle ich ein Upload Menü mit mehreren Menüpunkten ? PHP Tipps 2004 3 22.08.2004 14:19
[Erledigt] PopDown Menü fast fertig!! HTML, Usability und Barrierefreiheit 3 27.07.2004 00:11

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
css menü aufgeklappt lassen, css aktives menü ausgeklappt lassen, css menu onclick, php link für css als aktiv markieren, menü aufgeklappt lassen, css menü aktiv aufgeklappt, link bleibt activ, css ul li menu immer aufgeklappt, css aktives menü aufgeklappt, klappmenü style display, java aktives menü, dropdown und statisch aufgeklappt bleiben, php untermenü aufgeklappt lassen, css menu id ausgeklappt, klappmenü ausgeklappt lassen wenn aktiv, klappmenü soll aufgeklappt bleiben javascript, php menü aufgeklappt, java vertikales aufklappmenü onclick, bei bestimmten seiten menu ausgeklappt lassen, php aufgeklappt lassen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum