Hallo Chrostoffer,
Theoretisch könnte man mit Frames arbeiten, aber das möchte ich aus diversen Gründen vermeiden. Wenn ich eine zweite Funktion (sichtbar1) einbinde, dann wird die erste damit leider zerstört und die Information 1 ist von Anfang an sichtbar. Was kann ich also tun?
aua! Aua! Aua! ;) Du verkennst noch die Möglichkeiten, die Dir JavaScript an die Hand gibt. Frames brauchst Du Dafür nicht.
Ich möchte Dich auch gleich auf eine weitere Diskussion hier im Forum aufmerksam machen, die das Verhalten der Suchmaschinerie "Google" betrifft: https://forum.selfhtml.org/?t=123033&m=791798
Wenn die Inhalte auch für Suchmaschinen relevant sind, so denke bitte auch über den sinnvollen Eisatz von <noscript>-Elementen nach.
Das Script selbst funktioniert so ganz gut. Problem/Frage: Ich möchte unterschiedliche (Geheim-)Inhalte über die verschiedenen Links einblenden. Klickt man auf Link 1 soll die zuvor nicht sichtbare Botschaft 1 eingeblendet werden. Wenn man auf einen Link 2 klickt, dann soll eine andere Botschaft (2) eingeblendet werden, aber an der gleichen Stelle, wie zuvor die Botschaft 1.
Ein Beispiel:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<title>Under Construction</title>
<script type="application/x-javascript">
function zeige_text(a,b){
var a=document.getElementById(a)
var b=a.getElementsByTagName('noscript')[b]
if(a.getElementsByTagName('div').length>0)
a.removeChild(a.getElementsByTagName('div')[0])
var c=b.firstChild.cloneNode(true)
var d=document.createElement('div')
d.appendChild(c)
a.appendChild(d)
}
~~~~~~html
</script>
<style type="text/css">
li {text-decoration:underline;color:blue}
li:hover{color:red}
</style>
</head>
<body>
<ul>
<li onclick="zeige_text('a1',0)">Hinterm Mond</li>
<li onclick="zeige_text('a1',1)">Wird alles gut?</li>
<li onclick="zeige_text('a2',0)">Was sagt Susi?</li>
<li onclick="zeige_text('a2',1)">Noch was</li>
</li>
<div id="a1">
<h1>Hallo Welt!</h1>
<noscript>Es ist nur ein kleiner Text für ein Element. Aber ein großer Text für das Dokument.</noscript>
<noscript>Alles wird gut. Wer hat da gelacht?!</noscript>
</div>
<div id="a2">
<h1>Susi Sorglos:</h1>
<noscript>Zitat 1.</noscript>
<noscript>nix</noscript>
</div>
</body>
</html>
Gruß aus Berlin!
eddi
Wer Rechtschreibfehler findet, darf sie behalten.