Archiv verlassen und diese Seite im Standarddesign anzeigen : Javascript zeige Funktion öffnen und schließen...
sixfinger 02-06-2010, 17:24 Hallo,
ich möchte via Javascript gern ein Lexikon erstellen wo man auf den gewünschten Begriff klickt und die Beschreibung sich dann öffnet.
Ich möchte aber auch das sich die Begriffserklärungen wieder schließen wenn man erneut darauf klickt, nun hab ich aber noch keine funktionierende Lösung gefunden und hoffe nun das mir hier jemand helfen kann.
Mein Code sieht wie folgt aus und funktioniert auch alles mit dem öffnen, nur eben zum wieder schließen hab ich nichts :(
Code im Headbereich:
<script type="text/javascript">
function zeige(id){
var anzahl = 21;
for(var i =1; i <= anzahl; i++) {
if(i==id)
document.getElementById(i).style.display="block";
else document.getElementById(i).style.display="none";
}
}
</script>
Code zum Aufrufen im Content:
<div align="center" style="width:800px;">
<span <a href="javascript:zeige('1')" class="frage">!--Begriff--!</a><br>
<span id="1" class="antwort"><p align="center">!--Begriffserklärung--!</p></span>
</div>
Hat jemand eine Idee wie ich es hinbekomme das es bei klick wieder geschlossen wird, also ohne zusätzliche "schließen" Links oder ähnliches??
AmicaNoctis 02-06-2010, 17:28 Hallo,
function zeige(id){
var elem = document.getElementById(id);
elem.style.display = elem.style.display != "block" ? "block" : "none";
}
Gruß,
Amica
sixfinger 02-06-2010, 17:37 Danke für die Hilfe, aber wo genau muss ich den Code einfügen damit es richtig funktioniert?
AmicaNoctis 02-06-2010, 17:39 Ich hab nur die bestehende Funktion zeige korrigiert, also genau da, wo die jetzt steht.
sixfinger 02-06-2010, 17:44 Ich hab ihn genau mit meinem ersetzt, doch dann passiert niuchts mehr...
Wenn ich dan var anzahl= 21; wieder hinzufüge gehts wieder, aber schließen lässt es sich leider noch immer nicht.
AmicaNoctis 02-06-2010, 17:52 Wenn ich dan var anzahl= 21; wieder hinzufüge gehts wieder
:confused:
Den ganzen (aktuellen) Code bitte nochmal.
sixfinger 02-06-2010, 18:06 Header:
<script type="text/javascript">
function zeige(id){
var elem = document.getElementById(id);
elem.style.display = elem.style.display != "block" ? "block" : "none";
var anzahl = 21;
for(var i =1; i <= anzahl; i++) {
if(i==id)
document.getElementById(i).style.display="block";
else document.getElementById(i).style.display="none";
}
}
</script>
Content:
<div align="center" style="width:800px;">
<span <a name="affiliate" href="javascript:zeige('1')" class="frage">!---Begriff--!</a><br>
<span id="1" class="antwort">!--Begriffserklärung--!</span>
In aktion sieht das so aus: Infos-Paid4.de - Geld verdienen im Internet (http://www.infos-paid4.de/lexikon.html)
AmicaNoctis 02-06-2010, 18:15 Achso :)
Du solltest den alten Code ersetzen, nicht mit meinem kombinieren.
Also, aus
<script type="text/javascript">
function zeige(id){
var elem = document.getElementById(id);
elem.style.display = elem.style.display != "block" ? "block" : "none";
var anzahl = 21;
for(var i =1; i <= anzahl; i++) {
if(i==id)
document.getElementById(i).style.display="block";
else document.getElementById(i).style.display="none";
}
}
</script>
machst du
<script type="text/javascript">
function zeige(id){
var elem = document.getElementById(id);
elem.style.display = elem.style.display != "block" ? "block" : "none";
}
</script>
Die bleiben aber dann auf, bis sie geschlossen werden und gehen nicht alleine zu, wenn ein anderes geöffnet wird. Trotzdem okay?
"1" ist keine gültige ID.
sixfinger 02-06-2010, 18:17 Ah wunderbar :D
Ja das ist ok, muss ja nicht zwangläufig direkt wieder geschlossen werden wenn man einen anderen öffnet.
Danke für die Hilfe :)
sixfinger 02-06-2010, 18:19 "1" ist keine gültige ID.
:confused:
Wie meinst du das?
Wenn ich Buchstaben verwende funzt es mit meinem Restlichen aber nicht richtig, deshalb hab ich Zahlen genommen und dir funzen wunderbar und ohne jegliches Problem.
Wie meinst du das?
So, wie ich es geschrieben habe.
Wenn ich Buchstaben verwende funzt es mit meinem Restlichen aber nicht richtig,
Gewöhne dir bitte an, vernünftige Problembeschreibungen zu liefern - und kein „funzt nich“.
deshalb hab ich Zahlen genommen und dir funzen wunderbar und ohne jegliches Problem.
Darauf kanst du dich absolut nicht verlassen.
Nur, weil es zufällig in den fehlertoleranten Browsern funktioniert haben mag, in denen du getestet hast, heißt das noch lange nicht, dass es überall funktionieren wird.
Und auch „funktioniert“ macht daraus noch lange kein richtig.
AmicaNoctis 02-06-2010, 18:30 Wenn ich Buchstaben verwende funzt es mit meinem Restlichen aber nicht richtig
Das lag an der alten Funktion. Die neue von mir funktioniert mit korrekten IDs.
sixfinger 02-06-2010, 18:31 Ja es mag villeicht nicht richtig sein, aber in jedem Browser bei mir FUNKTIONIERT es, von Firefox, über Chrome bis zu Netscape.
Aber wenn es dich beruhigt kann ich auch etwas anderes als ID nutzen ;)
|
-
- |