Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Javascript zeige Funktion öffnen und schließen... [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




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?

 
wahsaga
02-06-2010, 18:17 
 
"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.

 
wahsaga
02-06-2010, 18:27 
 
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 ;)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:36 Uhr.