toggle news script problem :-)

hmm jo ich kann ja die anzahl in php in ne variable schreiben das geht aber kann ich die auch in das javascript übergeben ?

also meinetwegen im php $i="5";


und dann im javascript

var intAnzahlToggles = $i;

ich nehme an das wird nicht funktionieren oder ?
 
ahh gute idee :D hmm ich werd das mal testen alles und dann sag ich bescheid obs klappt :D danke nochmal fuer die super hilfe

hehe ich muss es zwar nen bissl ummodeln :D und schwierig einbinden aber letztendlich hats geklappt ! super duper hilfe war das ! vielen dank :D
 
Zuletzt bearbeitet:
Moinsen,

wenn du noch Hilfe beim einbinden brauchst musst sagen, habe heute nämlich auch son Ding gesucht und am Ende sogar gefunden :D, auch mit variabler Anzeige :).

Allerdings habe ich mit meinem ein Problem:

Immer wenn ich auf einen Link klicke, gehen die "Kästchen" zu ... kann man das mit Javascript irgendwie zwischenspeichern?
 
Zuletzt bearbeitet von einem Moderator:
nein ich habs komplett mit meiner db hinbekommen ^^ aber trotzdem danke :)

dein problem allerdings versteh ich gar nich ? kannst das mal genauer erklären ?
nur beim link mit dem bild oder wo ? :D
 
Original geschrieben von signo
nein ich habs komplett mit meiner db hinbekommen ^^ aber trotzdem danke :)

dein problem allerdings versteh ich gar nich ? kannst das mal genauer erklären ?
nur beim link mit dem bild oder wo ? :D

Also musste dir so vorstellen:

----LAYER----
LINK
----LAYER----

Wenn ich nun auf den Link raufklicke, dann geht der Layer wieder zu ... obwohl er eigentlich offen sein sollte, desweiteren habe ich noch das Problem, das sobald ich auf F5 drücke alle Felder wieder auf dem Ausgangszustand waren, ich würde es aber gerne haben, das es irgendwie gespeichert wird, wie der Zustand des Feldes war.

Zu den unendlichen Anzahlen von Layern: das ist mir gestern Abend kaputt gegangen und ich kriege es nicht mehr hin :heul: ;)
 
Hallo,

ich weiss das der Thread schon etwas älter ist, aber ich finde sonst keinen Hilfethread und bekommen es einfach nicht zum laufen.

Hier nun mein Code:

Code:
<html>
<head>
<script type="text/javascript">
var last = '';
var stat = 0;
function toggle(id){
//1:
if(stat==0){
document.getElementById(id).style.display = 'block';
document.hid1.src = "minus.gif";
stat = 1;
last = id;
}else if((stat==1)&&(last==id)){
document.getElementById(last).style.display = 'none';
document.hid1.src = "plus.gif";
stat = 0;
last = id;
}else{
document.getElementById(last).style.display = 'none';
document.getElementById(id).style.display = 'block';
document.hid1.src = "plus.gif";
stat = 1;
last = id;
}
}
</script>
</head>

<body>

<tr style="display: "><td>
<table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="18px" align="left">
<a href="javascript:toggle('test1')">
<img alt="Hier klicken um die restlichen Infos anzuzeigen" title="Hier klicken um die restlichen Infos anzuzeigen" src="plus.gif" border="0" name="hid1" style="position: relative; left: -2px;"/></a>
</td>
<td align="left">
<span class="smalltext"><b>Ich bin so geil 11</b></span>
</td></tr></table></td></tr>

<tr><td><div style="display:none;" id="test1">
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
</div></td></tr>

<br><br><br>

<tr style="display: "><td>
<table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="18px" align="left">
<a href="javascript:toggle('test2')">
<img alt="Hier klicken um die restlichen Infos anzuzeigen" title="Hier klicken um die restlichen Infos anzuzeigen" src="plus.gif" border="0" name="hid1" style="position: relative; left: -2px;"/></a>
</td>
<td align="left">
<span class="smalltext"><b>Ich bin so geil 12</b></span>
</td></tr></table></td></tr>

<tr><td><div style="display:none;" id="test2">
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
</div></td></tr>

</body>
</html>

Mein Problem:

Habe ich nur einen drin, dann klappt es wunderbar auf und plus ändert sich auf minus. Wenn ich allerdings 2, wie oben in meinem Code, einbinde, dann geht zwar immer noch alles wunderbar auf, aber das gif ändert sich nicht mehr, bleibt immer auf plus. Ich habe es, wie oben beschrieben, versucht von name="hid1" auf id="hid1" in der img Anweisung zu ändern, dann klappt aber garnichts mehr.

Könnte mir jemande helfen, was habe ich falsch gemacht ?

Vielen Dank

mfg vIsIOn
 
Hi,

änder die name-Attribute der Images in IDs (hid1 und hid2). Anschliessend fügst du noch einen
Array mit den IDs der Bilder zum Script. Über diesen Array rufst du das jeweils benötigte Bildobjekt
auf.

Weiterhin musst du Funktionsaufruf wieder erweitern um den Bereich, der getoggelt werden soll
(die Zählung beginnt bei Null).
HTML:
<html>
<head>
<script type="text/javascript">
var arrLast = new Array('', '');          // Array für IDs der ausklappbaren Bereiche
var arrIDs  = new Array('hid1', 'hid2');  // Array für Bild-IDs
var arrStat = new Array(0, 0);            // Array für Zustände (0: eingeklappt; 1: ausgeklappt)

function toggle(id, intBereich){
    // Fall der angeklickte Bereich eingeklappt ist
    if(arrStat[intBereich]==0){
    	// Bereich ausklappen und Einklapp-GIF einblenden
      document.getElementById(id).style.display = 'block';
      document.getElementById(arrIDs[intBereich]).src = "../bilder/up.gif";
      // Bereich als ausgeklappt markieren
      arrStat[intBereich] = 1;
      // ID des ausgeklappten Bereichs merken
      arrLast[intBereich] = id;
    // Falls der angeklickte Bereich ausgeklappt ist und wieder geschlossen werden soll
    }else if((arrStat[intBereich]==1)&&(arrLast[intBereich]==id)){
      document.getElementById(arrLast[intBereich]).style.display = 'none';
      document.getElementById(arrIDs[intBereich]).src = "../bilder/down.gif";
      arrStat[intBereich] = 0;
      arrLast[intBereich] = id;
    }else{
      document.getElementById(arrLast[intBereich]).style.display = 'none';
      document.getElementById(id).style.display = 'block';
      document.getElementById(arrIDs[intBereich]).src = "../bilder/down.gif";
      arrStat[intBereich] = 1;
      arrLast[intBereich] = id;
    }
}
</script>
</head>

<body>

<tr style="display: "><td>
<table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="18px" align="left">
<a href="javascript:toggle('test1', 0)">
<img alt="Hier klicken um die restlichen Infos anzuzeigen" title="Hier klicken um die restlichen Infos anzuzeigen" src="../bilder/down.gif" border="0" id="hid1" style="position: relative; left: -2px;"/></a>
</td>
<td align="left">
<span class="smalltext"><b>Ich bin so geil 11</b></span>
</td></tr></table></td></tr>

<tr><td><div style="display:none;" id="test1">
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
</div></td></tr>

<br><br><br>

<tr style="display: "><td>
<table cellpadding="0" cellspacing="0" width="100%">
<tr><td width="18px" align="left">
<a href="javascript:toggle('test2', 1)">
<img alt="Hier klicken um die restlichen Infos anzuzeigen" title="Hier klicken um die restlichen Infos anzuzeigen" src="../bilder/down.gif" border="0" id="hid2" style="position: relative; left: -2px;"/></a>
</td>
<td align="left">
<span class="smalltext"><b>Ich bin so geil 12</b></span>
</td></tr></table></td></tr>

<tr><td><div style="display:none;" id="test2">
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
dieser text erscheint erst beim klicken<br>
</div></td></tr>

</body>
</html>
Ich hoffe, das hilft dir weiter.

Ciao
Quaese
 
Zurück