CeleronD
21.05.2011, 02:00
Hallo!
Wollte mal kurz was loswerden...hab nun endlich das Aufklappbare Menü geschafft zusammen zubauen, funtioniert sogar. (Auf und zu werden in Cookies gespeichert).
Man erstelle eine JavaScript Datein Namens aufzu.js, die in den Ordner Ajax kommt mit dem Inhalt:
function aufzu(id){
if(document.getElementById(id).style.display == 'none') {
document.getElementById(id).style.display = 'block';
setCookie(id, '0');
} else {
document.getElementById(id).style.display = 'none';
setCookie(id, '1');
}
}
function getCookie(Name){
var re=new RegExp(Name+"=[^;]+", "i");
if (document.cookie.match(re))
return document.cookie.match(re)[0].split("=")[1];
return "";
}
function setCookie(name, value){
document.cookie = name+"="+value + ";path=/;expires=Thu, 31-Dec-2099 00:00:01 GMT";
}Dann öffnet man die lib/header.php und füge zu den passenden Zeilen die hier hinzu:
<script type="text/javascript" src="ajax/aufzu.js"></script>Die einzelnen Boxen erstellt man so: (Hier ein Beispiel bei der Top10)
<a href="javascript:aufzu('top10')"><? menuehead("Top10 Klicker");?></a>
<div id="top10">
<? $klicksrang = db_query ('SELECT k.klicks,u.nickname FROM '.$db_prefix.'_tagrally k RIGHT JOIN '.$db_prefix.'_userdaten u ON u.uid = k.uid WHERE k.klicks>0 ORDER BY klicks DESC LIMIT 10');
$rang = 1;
while ($klickliste=mysql_fetch_array($klicksrang)) {
echo '
<table cellpadding="0" cellspacing="0" border="0" width="133px">
<tr>
<td width="9px" align="right"><small>'. $rang++ .'</small> </td>
<td align="left" widht="80px"><small> '.$klickliste[nickname].'</small></td>
<td width="25px" align="right"><small>'.number_format($klickliste[klicks],0,",",".").'</small></td>
</tr>
</table>
';
}
?>
</div>
<script type="text/javascript">
if (getCookie("top10") == '1') { aufzu('top10'); }
</script>
<? menuefoot();?>Wichtig dabei ist jeder Box ein eigenen namen zuzuweisen. Hier der Name der Name der Box "top10".
Bei einem Include macht man das sio dann:
<a href="javascript:aufzu('tkb')"><? menuehead("Tages-Klick-Bonus");?></a>
<div id="tkb">
<? include ("content/smilie.php");?>
</div>
<script type="text/javascript">
if (getCookie("tkb") == '1') { aufzu('tkb'); }
</script>
<? menuefoot();?>Hier wieder darauf achten das die Box einen eigenen Namen hat, hier der ist der Name der Box "tkb".
Bei jeder Box muss man also 4x den Namen ändern. Tut man das nicht, öffnen/schliessen sich die Boxen falsch.
Ich hoffe das passt alles und ich hab nix falsch beschrieben. Falls was ist einfach mal nachfragen.
Wollte mal kurz was loswerden...hab nun endlich das Aufklappbare Menü geschafft zusammen zubauen, funtioniert sogar. (Auf und zu werden in Cookies gespeichert).
Man erstelle eine JavaScript Datein Namens aufzu.js, die in den Ordner Ajax kommt mit dem Inhalt:
function aufzu(id){
if(document.getElementById(id).style.display == 'none') {
document.getElementById(id).style.display = 'block';
setCookie(id, '0');
} else {
document.getElementById(id).style.display = 'none';
setCookie(id, '1');
}
}
function getCookie(Name){
var re=new RegExp(Name+"=[^;]+", "i");
if (document.cookie.match(re))
return document.cookie.match(re)[0].split("=")[1];
return "";
}
function setCookie(name, value){
document.cookie = name+"="+value + ";path=/;expires=Thu, 31-Dec-2099 00:00:01 GMT";
}Dann öffnet man die lib/header.php und füge zu den passenden Zeilen die hier hinzu:
<script type="text/javascript" src="ajax/aufzu.js"></script>Die einzelnen Boxen erstellt man so: (Hier ein Beispiel bei der Top10)
<a href="javascript:aufzu('top10')"><? menuehead("Top10 Klicker");?></a>
<div id="top10">
<? $klicksrang = db_query ('SELECT k.klicks,u.nickname FROM '.$db_prefix.'_tagrally k RIGHT JOIN '.$db_prefix.'_userdaten u ON u.uid = k.uid WHERE k.klicks>0 ORDER BY klicks DESC LIMIT 10');
$rang = 1;
while ($klickliste=mysql_fetch_array($klicksrang)) {
echo '
<table cellpadding="0" cellspacing="0" border="0" width="133px">
<tr>
<td width="9px" align="right"><small>'. $rang++ .'</small> </td>
<td align="left" widht="80px"><small> '.$klickliste[nickname].'</small></td>
<td width="25px" align="right"><small>'.number_format($klickliste[klicks],0,",",".").'</small></td>
</tr>
</table>
';
}
?>
</div>
<script type="text/javascript">
if (getCookie("top10") == '1') { aufzu('top10'); }
</script>
<? menuefoot();?>Wichtig dabei ist jeder Box ein eigenen namen zuzuweisen. Hier der Name der Name der Box "top10".
Bei einem Include macht man das sio dann:
<a href="javascript:aufzu('tkb')"><? menuehead("Tages-Klick-Bonus");?></a>
<div id="tkb">
<? include ("content/smilie.php");?>
</div>
<script type="text/javascript">
if (getCookie("tkb") == '1') { aufzu('tkb'); }
</script>
<? menuefoot();?>Hier wieder darauf achten das die Box einen eigenen Namen hat, hier der ist der Name der Box "tkb".
Bei jeder Box muss man also 4x den Namen ändern. Tut man das nicht, öffnen/schliessen sich die Boxen falsch.
Ich hoffe das passt alles und ich hab nix falsch beschrieben. Falls was ist einfach mal nachfragen.