zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Hilfe: navigation included - wie kann man den aktiven menüpunkt highlighten?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 30.01.2010, 02:46
Benutzerbild von nea23
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 30.01.2010
Beiträge: 5
nea23 befindet sich auf einem aufstrebenden Ast
Frage Hilfe: navigation included - wie kann man den aktiven menüpunkt highlighten?

Hallo liebe Programmierer

Ich bin neu hier und außerdem Anfängerin (kann kein PHP und JavaScript...) und habe mit viel Glück und einzelnen Code-Fragmenten eine Seite zurechtgebastelt die schon ganz gut funktioniert , ABER

ich wollte die Navi auslagern, weil ich ganz viele Seiten habe (und wenn ich da mal was ändern muss....) also habe ich das mit PHP include gemacht (eine navi.php)... und die inhalte der Seite lade ich mit einer get.js datei in einen dafür vorgesehenen DIV container in meiner index.php, weil ich die seite nicht neu laden möchte (ich habe einen sound und eine animation die ständig und flüssig laufen sollen), und das klappt alles, NUR

wie kann ich jetzt der navi.php sagen welcher inhalt in meiner DIV steht, damit ich dem "aktiven" link das richtige aussehen zuweisen kann? man weiss ja sonst nicht wo man grade ist...
das ist auch nicht so gut für die Usability, oder

Dachte das kann man vielleicht über irgendein Skript lösen, das ständig abfragt was in meine DIV reingeladen wurde, und die info dann an die navi.php schickt, damit der gedrückte link eine andere farbe kriegt oder so???

ich kenn mich einfach zu wenig aus mit programmieren. vielleicht geht das ganze auch leichter zu lösen?

bin wirklich für jeden Hinweis dankbar!!!

Achso hier ein paar ansichten aus meiner Seite

meine navi.php
Code:
	<ul id="mainnavi">
		<li>
			<a href="javascript: void(0);" onclick="getHome();" class="n1" >&nbsp;</a>
		</li>
		<li>
			<a href="javascript: void(0);" onclick="getUeberMich();" class="n2" >&nbsp;</a>
		</li>
		<li>
			<a href="javascript: void(0);" onclick="getHobbys();" class="n3" >&nbsp;</a>
		</li>
		<li>
			<a href="javascript: void(0);" onclick="getKontakt();" class="n4" >&nbsp;</a>
		</li>
    </ul>

in der get.js steht
Code:
            function getKontakt(){
                new Ajax.Request('kontakt.php', {
                    method: 'get',
                    onSuccess: getHTMLSuccess,
                    onFailure: getHTMLFailure
                });
            }
	
// usw.
            
            function getHTMLSuccess(originalRequest){
                var response = originalRequest.responseText;
                $('content').innerHTML = response;
            }
            
            function getHTMLFailure(){
                alert('Diese Seite steckt noch in der Entwicklung: Bitte versuchen Sie es später noch einmal.');
            }
            
            function clearNode(node){
                $(node).innerHTML = "";
                $(node).innerHTML = "";
            }

LG, nea
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 30.01.2010, 07:17
EvT EvT ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 11.09.2006
Ort: Marburg
Beiträge: 1.957
EvT ist ein LichtblickEvT ist ein LichtblickEvT ist ein LichtblickEvT ist ein LichtblickEvT ist ein LichtblickEvT ist ein LichtblickEvT ist ein LichtblickEvT ist ein LichtblickEvT ist ein LichtblickEvT ist ein LichtblickEvT ist ein Lichtblick
Standard

Ich finds ja witzig, dass dein Doppelposting auf psd-tutorials.de dich wieder zu uns zurückführt.
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 30.01.2010, 11:04
Benutzerbild von nea23
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 30.01.2010
Beiträge: 5
nea23 befindet sich auf einem aufstrebenden Ast
Standard

Hi EvT

Stimmt, das hätte ich nicht gedacht - aber diesen Eintrag hatte ich bereits gelesen und es auch bei mir versucht. Hat aber nicht funktioniert

Vielleicht weil es bei mir nicht geht weil ich nur eine index.php habe, in die alle inhalte geladen werden und sich die seite nicht aktualisiert??? wie gesagt dafür habe ich zu wenig ahnung. vielleicht habe ich auch einfach was falsch gemacht...


in meiner navi.php stand
Code:
...

<ul id="submenue">
<li>
	<a <? if($aktiv=="impressum") { echo "id=\"hier\""; } else { echo "id=\"submenue li a\""; } ?> href="javascript: void(0);" onclick="getImpressum();" ></a>
	</li>
</ul>

...

in meiner CSS
Code:
...

/* Impressum */
			
#submenue {
		position:absolute;
		left:47px; 
	        top:-5px; 
		width:50px; 
		height:25px;
		margin: 0;
         	padding:0;
		list-style-type: none;
}
				
/* Normalzustand Link Impressum */

ul#submenue li a {
		width: 74px;
		height: 25px;
		display: block;
		background: url(../pic/impressum.png) right;
		background-positon: left;	
}
				
ul#submenue li a:hover {
		background: url(../pic/impressum_ov.png) right;
}
				
ul#submenue li a#hier {
		background: url(../pic/impressum_ov.png) right;
}		

...

und dann stand in impressum.php ganz am anfang
(aber im endeffekt wird das ja in ein div im body von index.php geladen)
Code:
...

<?php $aktiv="impressum"; ?>

...

Nur hat sich garnichts getan nachdem ich impressum geladen habe.
War da etwas falsch?

LG, nea
Mit Zitat antworten
  #4 (permalink)  
Alt 30.01.2010, 16:53
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 1.711
David sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle Atmosphäre
Standard

Inhalte ausschließlich über JavaScript zugänglich zu machen ist eine ganz schlechte Idee! Nicht nur aus Sicht der Benutzerfreundlichkeit.

Wie man auf sich selbst zeigende Links gleich ganz entfernt (und nicht nur markiert) kannst du hier nachlesen:
Navi includen – ohne Deppenlink

Das Prinzip: Die Navigation wird per PHP include() auf jeder Seite eingebunden. Die Seitenstruktur wird in einem Array gespeichert. Der Vergleich mit der angefragten Ressource ($_SERVER['REQUEST_URI']) gibt aufschluss, auf welcher Seite man sich gerade befindet und schreibt anstatt eines Links ein <strong>.
__________________
Füllhöhe technisch bedingt
http://dnaber.de
Mit Zitat antworten
  #5 (permalink)  
Alt 31.01.2010, 11:01
Benutzerbild von nea23
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 30.01.2010
Beiträge: 5
nea23 befindet sich auf einem aufstrebenden Ast
Standard

Hi David!

Danke für den Tipp aber dann müsste ich alle meine Seiten anfassen um die Navi einzupflegen... das wäre eine Menge Arbeit.

Im Moment lade ich alle inhalte in die index.php, so wie die navi auch - bloß die lade ich nur einmal rein. Bei deinem Tipp müsste ich die komplette Sitestruktur überarbeiten - geht das vielleicht auch mit etwas weniger Aufwand?

LG, nea
Mit Zitat antworten
  #6 (permalink)  
Alt 01.02.2010, 13:39
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 1.711
David sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle AtmosphäreDavid sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von nea23 Beitrag anzeigen
Bei deinem Tipp müsste ich die komplette Sitestruktur überarbeiten - geht das vielleicht auch mit etwas weniger Aufwand?
Das kann ich dir nicht sagen, ich weiß ja nicht, wie dein System aussieht. Ob du allerdings die Inhalte mit JavaScript nachlädst, oder Serverseitig (z.B. per PHP) ist vom technischen Standpunkt kein großer Unterschied. Genau genommen ist das sogar ein Schritt zu viel. Den Request musst du doch nicht mit JavaScript auslösen, den schafft der Browser auch selbst. Wie sieht denn deine Serverseite aus?
__________________
Füllhöhe technisch bedingt
http://dnaber.de
Mit Zitat antworten
  #7 (permalink)  
Alt 01.02.2010, 14:15
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 8.934
heiko_rs ist jedem bekanntheiko_rs ist jedem bekanntheiko_rs ist jedem bekanntheiko_rs ist jedem bekanntheiko_rs ist jedem bekanntheiko_rs ist jedem bekanntheiko_rs ist jedem bekanntheiko_rs ist jedem bekanntheiko_rs ist jedem bekanntheiko_rs ist jedem bekanntheiko_rs ist jedem bekannt
Standard

Zitat:
Zitat von nea23 Beitrag anzeigen
Im Moment lade ich alle inhalte in die index.php, so wie die navi auch - bloß die lade ich nur einmal rein.
Das kann ja auch so bleiben: Du includest einfach keine statische Navi mehr, sondern den Code, der die Navi generiert (mache ich genauso).
__________________
Wer keinen Link auf seine problembehaftete Seite posten kann, weil diese noch nicht online ist: Testcase bauen, online stellen, Link posten.
Mit Zitat antworten
  #8 (permalink)  
Alt 01.02.2010, 20:43
Benutzerbild von nea23
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 30.01.2010
Beiträge: 5
nea23 befindet sich auf einem aufstrebenden Ast
Standard

Hi David,
Hi Heiko

ok ich versuch das einfach mal mit dem Code in der externen Navi

Vielen Dank euch beiden!
LG, nea
Mit Zitat antworten
  #9 (permalink)  
Alt 12.02.2010, 10:51
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 25.07.2009
Ort: Wanne-Eickel
Beiträge: 130
TanjaP. befindet sich auf einem aufstrebenden Ast
Standard

Ich hatte auch meine Probleme ohne Deppenlinks zu arbeiten; ich habe es so gelöst:
im Menu die li so angegeben:
Code:
<li<?php if ($thisPage=="Links")echo " id=\"aktiv\""; ?>><a href="/links/links.php">Links</a></li>
auf der Seite ganz oben (als erstes) so abgefragt:
Code:
<?php 
$thisPage="Links"; 
?>
und im css formatiert
Code:
#aktiv a {
font-style : italic;...}
möchtest Du das bei einem Unterpunkt machen, einfach ein sub vor Page setzen ($thissubPage)

Ist zwar nicht die beste Lösung, aber für nicht-Könner brauchbar...

Tanja
Mit Zitat antworten
  #10 (permalink)  
Alt 12.02.2010, 19:27
Benutzerbild von nea23
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 30.01.2010
Beiträge: 5
nea23 befindet sich auf einem aufstrebenden Ast
Standard

Danke Tanja
Mit Zitat antworten
Antwort

Stichwörter
aktiv, highlighten, included, navigation

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe - IE6 verschiebt navigation nach unten hausi86 CSS 3 25.01.2010 18:38
Falsche Darstellung im Internet Explorer rw1981 CSS 3 06.02.2009 12:51
Navigation HILFE softgame22 CSS 1 03.02.2009 23:39
CSS Experten Hilfe benötigt! klappauge CSS 10 25.11.2007 13:37
Hilfe bei Navigation oeli CSS 8 27.09.2006 19:57


Alle Zeitangaben in WEZ +2. Es ist jetzt 02:33 Uhr.