Dynamische Klapp-FUnktion

Status
Nicht offen für weitere Antworten.

M-GT

Erfahrenes Mitglied
Hi Leute
Also
ICh würde gerne so eine Klappfunktion wie sie hier im Forum auf der Hauptseite ist (Rechts kann man alle Sachen einklappe lassen)

Jo es soll im Prinzip so sein
1.Tabelle ganz oben... in der tabelle ist eine kleine Bildchen, wenn man auf das klickt öffnen sich unter der 1. tabelle weitere tabelle... (sowviele wie ich halt will)

WIe geht das? Brauch ich dazu Javascript? oder ist das irgendwie mit php zu bewerkstelligen?
 
Ich weiß zwar nicht genau, welche Funktion Du auf der Startseite meinst, aber die von Dir beschriebene Funktion geht nur mit JavaScript. PHP ist eine Serverseitige Sprache und kann auf Klicks des Users im Browser nicht reagieren.
 
EHm ja du warst zwar wikrlich eine große hilfe aber wieso geht der Kack nu im IE
Hier mal jez der code:

Code:
<script language="JavaScript1.2">
var head="display:''"
function doit(header){
var head=header.style
if (head.display=="none")
head.display=""
else
head.display="none"
}
</script>
<table border="1">
<tr><td>
<div style="cursor: hand;" onclick="doit(document.all[this.sourceIndex+1])">   
   LINKÜBERSCHRIFT
   </div>
</td></tr>
</table>
<span style="display:none">
<span><table border="1">
<tr><td>
<a href="">Unterlink1</a>
<a href="">Unterlink2</a>
<a href="">Unterlink3</a>
<a href="">Unterlink4</a>
<br>

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


Wieso tut mir diese Kack Code das an und geht nur im IE
 
Weil der K***-Coder die Links nach Microsoft-Methode anspricht, und nicht nach DOM-Methode(welche im Gegensatz zur MS-Methode ausser IE und Opera auch alle anderen aktuellen Browser interpretieren).

Schau dir bei den Javascript-Tutorials das Basic-DHTML-Menu an, dann wirst du schlauer.
 
Weil der Code Document.all verwendet, was nicht standardkonfor ist und nur der IE versteht.
Probiers mal hiermit:
Code:
<script language="JavaScript1.2">
var head="display:''"
function doit(item){
header=document.getElementById(item);
var head=header.style
if (head.display=="none")
head.display=""
else
head.display="none"
}
</script>

<div style="cursor: hand;" onclick="doit('content')">
   LINKÜBERSCHRIFT
   </div>

<span style="display:none" id="content">

<span style="margin-left:5px"><a href="">Unterlink1</a></span><br>
<span style="margin-left:5px"><a href="">Unterlink2</a></span><br>
<span style="margin-left:5px"><a href="">Unterlink3</a></span><br>
<span style="margin-left:5px"><a href="">Unterlink4</a></span><br/>
</span></div>
 
Jo leider muss ich im Nachhinein feststellen das da irgendwie ein Problem noch immer ist und zwar:

Wenn ich mehrere:
Code:
<div style="cursor: hand;" onclick="doit('content')">
   LINKÜBERSCHRIFT
   </div>

<span style="display:none" id="content">

<span><a href="">Unterlink1</a></span><br>
<span><a href="">Unterlink2</a></span><br>
<span><a href="">Unterlink3</a></span><br>
<span><a href="">Unterlink4</a></span><br/>
</span></div>
untereinander EInfüge passiert folgendes...:

Egal auf welche "LINKÜBERSCHRIFT" ich klicke es wird immer nur der unterteil vom 1. LINKÜBERSCHRIFT geöffnet, das selbe beim Schliesen egal wo ich drauf klicke der Effekt passiert nur immer beim 1.


Ich hab da jez schon ein bisschen auspropier und gemerkt eben wenn ich statt content
1 fürs ERSTE
2 fürs ZWEITE
3 für... USW

Dann wird es richtig ausgeführt...

Mein Problem ist nun ich könnte natürlich jeden eine Zahl geben aber da ich das ganze mit php verwenden und wenn eine neuer eintrag in der Datenbank ist einen neue "LINKÜBERSCHRIFT + INHALT" dazu kommt weiß ich nicht wie ich das machen soll?

Gibts da irgendeinen Möglichkeite das er irgenwie immer +1 nimmt oder irgendwie mit der id in der datenbank?

HELFT MIR... =)


EDIT:
MIT MEINER VORIGEN VERSION WAR DAS ÜBERIGENS NICHT... DA HAT ER IMMER DAS RICHTIGE GEÖFFNET AUCH WENN MEHRERE DA WAREN =(
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge

Zurück