aufklappen / zuklappen funktioniert nicht richtig

Status
Nicht offen für weitere Antworten.

draig

Mitglied
Ich habe mit Java ein Aufklappen und Zuklappen Link erstellt. Jedoch soll unterschiedliche Sachen aufgeklappt/zugeklappt werden. Er klappt aber immer nur das selbe auf.

Beispiel: http://www.konsolen-sector.de/projecte/fxp/livedemo/thread.php

Wenn man aufs erste Öffnen klickt, klappt er diese Tabelle auf. Wenn man dadrunter aufs zweite Öffnen klickt, klappt er nicht die 2 Tabelle auf, sonder die erste zu bzw auf.
Danke schonmal für die Hilfe.


Das ist der Code:
PHP:
<script type="text/javascript" language="JavaScript1.2">
var angezeigt = false;

function versteckt() 
{ 
	if (angezeigt)
	{
  window.document.images['Icon'].src                     = '{$style['imagefolder']}/plus.gif';
    window.document.getElementById('StatusText').innerHTML = 'Öffnen';
		document.getElementById('speed').style.display = 'none';
		angezeigt = false;
	}
	else
	{
    window.document.images['Icon'].src                     = '{$style['imagefolder']}/minus.gif';
    window.document.getElementById('StatusText').innerHTML = 'Schließen';
		document.getElementById('speed').style.display = 'block';
		angezeigt = true;
	}
} 
</script>
PHP:
<a 
     onclick="versteckt();"><img src="{$style['imagefolder']}/plus.gif" style="border-width:0px;" alt="+" name="Icon"></a> <a href=""
     onclick="versteckt(); return false;" id="StatusText">Öffnen</a>


</span></td>
</tr>
</table>

<table cellpadding="4" cellspacing="1" border="0" width="450" class="tableinborder" style="display : none" id="speed">
 
Ohne bis ins Detail deine Funktion durchzulesen fällt sofort auf, dass kein Parameter übergeben wird.

Woher "weiß" denn deine Funktion, was angeklickt wurde?

Du solltest diese Info über einen Parameter an die Funktion mitliefern.

vop
 
So, ich hab Dir mal etwas angefertigt. Kommentiert natürlich auch ;) Und getestet sowieso.

Du musst nur aufpassen das Du bei der Funktion "verstecken()" auch alle Parameter und vorallem die richtigen angibst!
Ich habe das Beispiel ist verständlich, und es richtet sich nach deinen Wünschen :)

PHP:
<html>
 <head>
  <title>Auf- und zuklappen</title>
  <script type="text/javascript">
  	var imagefolder = ''; // hier bitte die URL zum image Ordner angeben

	// name = ID des zu schließenden 'Dings' (div, tr, td, was auch immer)
	// iconname = ID des zu ändernden Bildes
	// statename = ID des zu ändernden Statuses
	function verstecken(name,iconname,statename)
	{
		if (document.getElementById(name).style.display == 'none') // Wenn es bereits geschlossen ist, dann öffnen wir es hier
		{
			document.getElementById(iconname).src = imagefolder + '/plus.gif'; // Wechseln des Bildes
			document.getElementById(iconname).alt = '+'; // Wechseln  des alt Tags
    			document.getElementById(statename).innerHTML = 'Schließen'; // Status ändern
        		document.getElementById(name).style.display = 'block'; c
    		}
    		else // Wenn sie geöffnet ist, dann schließen wir sie eben
    		{ 
   			document.getElementById(iconname).src = imagefolder + '/minus.gif'; // Wechseln des Bildes
   			document.getElementById(iconname).alt = '-'; // Wechseln  des alt Tags
    			document.getElementById(statename).innerHTML = '&Ouml;ffnen'; // Status ändern
       			document.getElementById(name).style.display = 'none'; // Scließen
    		}
    		return false;
	}
  </script>
 </head>
 <body>
 
  <table cellpadding="4" cellspacing="0" border="0" style="border: 1px solid #000000; background-color: #F0F0F0;">
   <tr>
    <td><a href="#" onClick="return verstecken('Text_1','Icon_1','StatusText_1');"><img src="plus.gif" border="0" alt="+" id="Icon_1" /></a></td>
    <td id="StatusText_1">Schließen</td>
   </tr>
   <tr>
    <td colspan="2" id="Text_1">Laldsrfldsfl sf</td>
   </tr>
  </table>
  
  <br />
  
  <table cellpadding="4" cellspacing="0" border="0" style="border: 1px solid #000000; background-color: #F0F0F0;">
   <tr>
    <td><a href="#" onClick="verstecken('Text_2','Icon_2','StatusText_2');"><img src="plus.gif" border="0" alt="+" id="Icon_2" /></a></td>
    <td id="StatusText_2">Schließen</td>
   </tr>
   <tr>
    <td colspan="2" id="Text_2">Laldsrfldsfl sf</td>
   </tr>
  </table>
  
  <br />
  
  <table cellpadding="4" cellspacing="0" border="0" style="border: 1px solid #000000; background-color: #F0F0F0;">
   <tr>
    <td><a href="#" onClick="verstecken('Text_3','Icon_3','StatusText_3');"><img src="plus.gif" border="0" alt="+" id="Icon_3" /></a></td>
    <td id="StatusText_3">Schließen</td>
   </tr>
   <tr>
    <td colspan="2" id="Text_3">Laldsrfldsfl sf</td>
   </tr>
  </table>
  
 </body>
</html>
 
Das ist was ich brauche, nur werden die Daten aus einer Mysql Datenbank abgelesen. Ich weiss nämlich nicht wie viele Beiträge dort sind und in jeden Beitrag wird nicht dieser Post gemacht. Es kann sein das er 2 mal hintereinander kommt, aber es kann auch sein, das er alle 3 Beiträge 1 mal kommt. Also muss er irgendwie die Paramater (Nummerierung) automatisch mahen. Wäre nett wenn jemand mir erklären würde wie das geht.
 
genau das brauche ich gerade für meine website:

hab mir diesen code bei mir eingebaut, was muss ich ändern damit es standardmässig zugeklappt ist?

danke euch
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück