PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Javascript / HTML Menü frage


nagus
2003-01-20, 09:59:25
ich hoffe jemand von euch kann mir helfen.

folgendes problem:

auf einer seite gibt es eine hauptnavigation mit z.b. 6 links. diese links sind im header der seite und die content files sind z.b. 1.shtml, 2.shtml. 3.shtml, usw....

wie kann kann ich es schaffen, dass sich der browser sozusagen "merkt" auf welchen link ich geklickt habe und auf der folgenden seite diesen text-link dann z.b. rot einfärbt??

ähnlich wie hier: http://www.kleinezeitung.at/nachrichten/politik/index.jsp .... "Politik" ist markiert, aber wenn ich jetzt z.b. auf "Kultut" klicke, ist eben auf der kultur-seite "kultur" markiert.

hab versucht die seite nachzubauen, aber bei mir klappts einfach nicht. hat vielleicht jemand eine einfache und schnelle lösung? wenns geht auch mit einem beispiel.


1000 DANK!!!!

firewars
2003-01-20, 13:53:09
Bin zwar kein Javascript-Profi, aber man könnte so gesehen für jede Seite ein eigenes Menü includen (per SSI z.B.).

nagus
2003-01-20, 14:45:53
Originally posted by firewars
Bin zwar kein Javascript-Profi, aber man könnte so gesehen für jede Seite ein eigenes Menü includen (per SSI z.B.).

und GENAU das will ich eben vermneiden. es sind nämlich in wirklichkeit nicht 5 oder 6 seiten sondern ~ 40!!


kann mir keiner helfen? es ist sehr dringend.

danke
mfg, nagus

Captain America
2003-01-20, 15:44:14
Poste mal den JS.

PS: ich habe ein nVidia Brett. Jaja, in der Not frisst der Teufel fliegen! ;D

nagus
2003-01-20, 15:52:22
<!--JSP Fragment Include für Usermanagement-->

<script language="javascript"> var ausgabe = "steiermark"; var regionenLink = "http://www.kleinezeitung.at/nachrichten/regionen/steiermark/graz/index.jsp"; var nickName = ""; var cassiopeiaNH = ""; var cassiopeia_SessionID = ""; function regionenSelect() { document.location.href="http://www.kleinezeitung.at/nachrichten/regionen/steiermark/graz/index.jsp"; }</script>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>


<META http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true for "http://www.kleinezeitung.at" r (ca 1 cb 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true for "http://www.kleinezeitung.at" r (n 0 s 0 v 0 l 0))'>
<LINK rel="stylesheet" href="http://www.kleinezeitung.at/styles/styles_ns.css"http://www.kleinezeitung.at/>

<SCRIPT language="JavaScript" src="http://www.kleinezeitung.at/script/scripts.js"></SCRIPT>

<SCRIPT language="JavaScript">
if (b==0 || b==2 || b==4 || b==6) document.write("<LINK REL='stylesheet' HREF='http://www.kleinezeitung.at/styles/styles_nachrichten.css'>")
if (b==1 || b==3) document.write("<LINK REL='stylesheet' HREF='http://www.kleinezeitung.at/styles/styles_nachrichten_ns.css'>")
</SCRIPT>
<style type="text/css">
<!--
.TEST { font-family: "Times New Roman", Times, serif; font-size: 16px; font-style: italic; font-weight: bold}
-->
</style>
</HEAD>



<BODY class="page" onClick="awayMPs()" onLoad="javascript: window.name='Kultur'; if(b==1) { initNavIcon() }">

<SCRIPT language="JavaScript">
function writeCSS(level, linkname) {
var initLevel = level2;
if (level == initLevel) {
return "<SPAN class='TEST'>" + linkname + "</SPAN>";
}
else {
return linkname;
}
}
</SCRIPT>
<DIV class="bgnavi">
<DIV><A href="11.htm" class="nachrichten"><script language="JavaScript">document.write(writeCSS('chronik','Chronik'));</script></A></DIV>
<DIV class="t3"><A href="10.htm" class="nachrichten"><script language="JavaScript">document.write(writeCSS('kultur','Kultur'));</script></A></DIV>
</DIV>

</BODY>
</HTML>












einmal als 11.htm und 10.htm abspeichern. zwischen den beiden sollte dann jeweils der link, der geklickt worden ist z.b. rot werden oder fett, oder was weiß ich...

danke im voraus

Captain America
2003-01-20, 16:04:35
Ich wollte dein Script sehen! :D

grakaman
2003-01-20, 20:10:04
schon mal an css gedacht?

mfg

ethrandil
2003-01-20, 22:21:00
kommt man per javascript nicht irgendwie an die zuletzt aufgerufene seite? Da kannst du dannn ja den Dateinahmen auslesen und entsprechend die Darstellung ändern.
Soweit zur theorie ... ich such mal ;)

ethrandil
2003-01-20, 22:23:14
achnee, du suchst ja den eigenen Dateinamen ;)
dann geht das doch so

if ( window.location.href == "1.html")
blablabla
else
blablablabla

nagus
2003-01-20, 23:04:50
Originally posted by grakaman
schon mal an css gedacht?

mfg

ja, und ich hab jetzt auch die lösung, aber die ist doch etwas "plump" und unhandlich.

folgendes: die links hab ich einfach "durchnummeriert" ... class="link1" , class="link2" et...

in den jeweiligen shtml-files steht dann vor dem includieren des headers (wo sich die text-links befinden) die stylesheetdef. für eine classe... also z.b. .link2


das problem hierbei ist, dass ich wieder in jedem content-file extra die css def. muß. eine eine etwas elegantere lösung wäre mir lieber.


vielen dank im voraus
mfg, nagus

nagus
2003-01-20, 23:06:02
Originally posted by Captain America
Ich wollte dein Script sehen! :D


schau dir www.kleinezeitung.at an. das sind die scripten und alles was du brauchst.

danke

nagus
2003-01-20, 23:08:18
Originally posted by ethrandil
achnee, du suchst ja den eigenen Dateinamen ;)
dann geht das doch so

if ( window.location.href == "1.html")
blablabla
else
blablablabla



dann muß ich aber, wenn ich z.b. 40 text-links habe , 40 if schleifen bauen... oder? auch nicht optimal

trotzdem danke

ethrandil
2003-01-20, 23:42:23
oder du schreibst es dir in ein Array, und machst das ganze mit while ...
Aber das geht wirklich über die 'Sinnvollhaftigkeit' von JS hinaus :)