KlTeufelchen84
Neues Mitglied
Hallöle ich mal wieder.. wie schafft man in JS dass beim öffnen einer Seite der erste Link schon als aktiviert dargestellt wird und beim anklicken der anderen Links natürlich diese als aktiv dargestellt wird?
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
<body onload="linkobjekt.className='aktiv';">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title> Navigationsarten
</title>
<style type="text/css">
@import url(standart_java.css);
</style>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<script type="text/javascript">
function init()
{
document.getElementById("inhalt").style.zIndex="0";
document.getElementById("inhalt2").style.zIndex="0";
document.getElementById("inhalt3").style.zIndex="0";
document.getElementById("inhalt4").style.zIndex="0";
document.getElementById("inhalt5").style.zIndex="0";
}
function clickButton1()
{
init();
document.getElementById("inhalt").style.zIndex="100";
}
function clickButton2()
{
init();
document.getElementById("inhalt2").style.zIndex="100";
}
function clickButton3()
{
init();
document.getElementById("inhalt3").style.zIndex="100";
}
function clickButton4()
{
init();
document.getElementById("inhalt4").style.zIndex="100";
}
function clickButton5()
{
init();
document.getElementById("inhalt5").style.zIndex="100";
}
</script>
</head>
<body onload="linkobject.className='current';">
<h1>1. Textnavigation</h1>
<ul id="navi">
<li id="button1"><a href="javascript:clickButton1()">Link1</a></li>
<li id="button2"><a href="javascript:clickButton2()">Link2</a></li>
<li id="button3"><a href="javascript:clickButton3()">Link3</a></li>
<li id="button4"><a href="javascript:clickButton4()">Link4</a></li>
<li id="button5"><a href="javascript:clickButton5()">Link5</a></li>
</ul>
<div >
<p id="inhalt">
Weit hinten, hinter den Wortbergen, fern der Länder Vokalien und
Konsonantien leben die Blindtexte. Abgeschieden wohnen Sie in Buchstabhausen
an der Küste des Semantik, eines großen Sprachozeans. Ein kleines
Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit
den nötigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem
gebratene Satzteile in den Mund fliegen.
</p>
<p id="inhalt2">
Nicht einmal von der allmächtigen Interpunktion werden die
Blindtexte beherrscht − ein geradezu unorthographisches Leben.
Eines Tages aber beschloß eine kleine Zeile Blindtext, ihr Name
war Lorem Ipsum, hinaus zu gehen in die weite Grammatik. Der große
Oxmox riet ihr davon ab, da es dort wimmele von bösen Kommata,
wilden Fragezeichen und hinterhältigen Semikoli, doch das Blindtextchen
ließ sich nicht beirren.
</p>
<p id="inhalt3">
Es packte seine sieben Versalien, schob sich sein Initial in den
Gürtel und machte sich auf den Weg. Als es die ersten Hügel
des Kursivgebirges erklommen hatte, warf es einen letzten Blick zurück
auf die Skyline seiner Heimatstadt Buchstabhausen, die Headline von
Alphabetdorf und die Subline seiner eigenen Straße, der Zeilengasse.
</p>
<p id="inhalt4">
Wehmütig lief ihm eine rethorische Frage über die Wange,
dann setzte es seinen Weg fort. Unterwegs traf es eine Copy. Die Copy
warnte das Blindtextchen, da, wo sie herkäme wäre sie zigmal
umgeschrieben worden und alles, was von ihrem Ursprung noch übrig
wäre, sei das Wort "und" und das Blindtextchen solle umkehren und
wieder in sein eigenes, sicheres Land zurückkehren.
</p>
<p id="inhalt5">
Doch alles Gutzureden konnte es nicht überzeugen und so dauerte
es nicht lange, bis ihm ein paar heimtückische Werbetexter auflauerten,
es mit Longe und Parole betrunken machten und es dann in ihre Agentur
schleppten, wo sie es für ihre Projekte wieder und wieder mißbrauchten.
Und wenn es nicht umgeschrieben wurde, dann benutzen Sie es immernoch.
</p>
</div>
</body>
</html>
<script type="text/javascript">
<!-- // <<< Das da, damit, falls ein User JavaScript nicht unterstützt, der Browser diesen Teil als Kommentar ansieht und nicht ausgibt.
function ChangeClass( object, destClass ) {
object.className = destClass;
}
-->
</script>
<script type="text/javascript">
<!--
function clickButton( button, content ) {
init( );
document.getElementById( content ).style.zIndex = "0";
button.className = "aktiv";
}
-->
</script>
Diese ganzen Funktionen sind im Grunde überflüssig, wenn du einfach nur ClickButton() verwendest und einen Parameter übergibst.
Ich würde dir auch PHP empfehlen. Meine Seite zum Beispiel basiert auf AJAX, aber alles funktioniert auch ohne JS mittels PHP, so als anführendes Beispiel.
Ich sehe da aber auch keine andere Möglichkeit als den className des jeweiligen Links anzupassen.
Dann passt du deine onclick-Funktion wie folgt an:HTML:<script type="text/javascript"> <!-- // <<< Das da, damit, falls ein User JavaScript nicht unterstützt, der Browser diesen Teil als Kommentar ansieht und nicht ausgibt. function ChangeClass( object, destClass ) { object.className = destClass; } --> </script>
In deiner init-Funktion setzt du dann jeden className der Links entweder auf etwas anderes oder entfernst ihn gänzlich.HTML:<script type="text/javascript"> <!-- function clickButton( button, content ) { init( ); document.getElementById( content ).style.zIndex = "0"; button.className = "aktiv"; } --> </script>
!!! Ungetestetes Script !!!
Wenn es nicht funktioniert, probier einfach rum... ;) Sollte so ähnlich klappen.
Zur Alternative: Da musst du wohl oder übel die Seite neu laden und über PHP manipulieren... So mache ich das auf meiner Homepage auch. ^^
Der Unterschied ist so gross wie zwischen Haus abreissen und Frühstücken.
Kein Problem, dafür sind wir ja hier.Ich danke dir.. nach langem hin und her habe ich es aber dennoch mit JavaScript hinbekommen.. Beim normalen Programmieren hätte ich es auch anders gemacht, doch diese Aufgabe war zur Übung für ein Kurs, ansonsten würde ich ne Navi nicht unbedingt über Java machen...
Wow, das ist ein echt schönes Zitat! Das merke ich mir.Java ist nicht JavaScript.
Gerade ein schönes Zitat dazu gefunden:
Der Unterschied ist so gross wie zwischen Haus abreissen und Frühstücken.
Huch, wie kommst du denn darauf?
Erstmal noch Danke für die Lösung.. Ist klar das dieses Forum dafür da ist, doch finde ich es super, wenn einem geholfen wird :-D
Danke, Danke, Danke, Danke, Danke, Danke, Danke, Danke und nochmal Danke :lol:
Ich habe noch eine kleine Frage:
Kann man über JS noch CSS einfügen?
Ich habe einmal die CSS-Anweisungen position und height die nur bei JavaScript genutzt werden soll, wenn dieser deaktiviert ist, sollen diese Anweisungen wegfallen..
document.getElementById("meinElement").style.backgroundColor = "red";
document.getElementById("inhalt").style.position = "absolute";
document.getElementById("inhalt2").style.position = "absolute";
function addCssClass(element, neueKlasse) {
element.className += " "+neueKlasse;
}
addCssClass(document.getElementById("meinElement"), "rahmenText");
function removeCssClass(element, deleteClass) {
var classes = element.className;
classes = classes.split(" ");
for(var i=0; i < classes.length; i++) { classes[i] = classes[i].replace(new RegExp("^"+deleteClass+"$"), ""); if(classes[i] == "") classes.splice(i,1); }
element.className = classes.join(" ");
}