javascript (showHide) und dabei cookie setzen. geht das?
Verfasst: 03.04.2006 08:41
also es gibt da dieses kleine javascript vom topic calendar, was man ja durch bissl html kenntnisse auch für andere sachen hernehmen kann, ich zb. verwende es um ein aufklappbares quick reply zu haben, siehe hier der code:
und hier die javascript-datei:
das funzt auch alles supi, die box ist standartmäßig eben geschlossen, und wenn man auf den link klickt klappt sie aus. wunderbar - fürs quick reply.
nun ist es ja bei vbb und ipb standart, das quasi jede box und alles im forum ein und ausklappbar ist und: dieser zustand wird per cookie gespeichert !! d.h. wenn ich bespielsweise im portal die boxen "wetter" und "wer ist online" zuklappe, und dann irgendwann später wieder aufs portal geh, sind die immer noch zu.
nur mal so als beispiel.
ich würde gern wissen, wie könnte man bei dem javascript von oben den zustand ob etwas ein- oder ausgeklappt ist, auch per cookie speichern und nicht per default festlegen?
Code: Alles auswählen
<script language="JavaScript" type="text/javascript" src="includes/fadetogrey.js"></script>
<table border='0' cellpadding='0' cellspacing='0' width='100%' class='forumline'>
<tr>
<th colspan="2" height="25" valign="middle"> <img src="images/bot.gif" id="quick_reply_open_close" border="0"/> <a title="<b>Schnellantwort-Fenster aus-/einklappen</b>" href="javascript:void(0);" onClick="hdr_toggle('quick_reply','quick_reply_open_close', 'images/bot.gif', 'images/top.gif'); return false;" class="nav" style="color:#0066CC">{L_QUICK_REPLY}</a></th>
</tr>
<tbody id="quick_reply" style="display:none">
<form action='{quick_reply.POST_ACTION}' method='post' name='post' onsubmit='return checkForm(this)'>
<input type="hidden" name="sid" value="{quick_reply.SID}">
<tr>
<td class='qdare' align='left' valign='top' height="223">
<textarea name='message' rows='10' cols='80' wrap='virtual' style='background-image:url(images/007.PNG)' tabindex='3' class='post' onselect='storeCaret(this);' onclick='storeCaret(this);' onkeyup='storeCaret(this);'></textarea><br>
<!-- BEGIN smilies -->
<img src="{quick_reply.smilies.URL}" border="0" onmouseover="this.style.cursor='hand';" onclick="emoticon(' {quick_reply.smilies.CODE} ');" title="{quick_reply.smilies.DESC}" />
<!-- END smilies -->
<INPUT TYPE=button CLASS=BUTTON NAME="SmilesButt" VALUE="{L_ALL_SMILIES}" ONCLICK="openAllSmiles();">
</td></tr><tr>
<td class='qdare' align='left' valign='top' height="82"><span class='gen'>
<hr /> <b>{L_OPTIONS}</b><br />
<input type='checkbox' class='checkbox' name='quick_quote' value="ON">{L_QUOTE_LAST_MESSAGE}<br>
<!-- BEGIN user_logged_in -->
<input type='checkbox' class='checkbox' name='attach_sig' {quick_reply.user_logged_in.ATTACH_SIGNATURE} value="ON">{L_ATTACH_SIGNATURE}<br>
<input type='checkbox' class='checkbox' name='notify' {quick_reply.user_logged_in.NOTIFY_ON_REPLY} value="ON">{L_NOTIFY_ON_REPLY}</td>
<!-- END user_logged_in -->
</tr>
<tr>
<td class='catBottom' align='center' height='27' colspan='2'>
<input type='hidden' name='mode' value='reply'>
<input type='hidden' name='t' value='{quick_reply.TOPIC_ID}'>
<input type='hidden' name='last_msg' value='{quick_reply.LAST_MESSAGE}'>
<!--input type='hidden' name='message' value=''-->
<input type='submit' name='preview' class='liteoption' value='{L_PREVIEW}'>
<input type='submit' onClick="this.value='Bitte warten..'" name='post' class='mainoption' value='{L_SUBMIT}' accesskey='s'>
</td>
</tr>
</table>
</form><hr /></tbody>
Code: Alles auswählen
function hdr_ref(object)
{
if (document.getElementById)
{
return document.getElementById(object);
}
else if (document.all)
{
return eval('document.all.' + object);
}
else
{
return false;
}
}
function hdr_expand(object)
{
var object = hdr_ref(object);
if( !object.style )
{
return false;
}
else
{
object.style.display = '';
}
if (window.event)
{
window.event.cancelBubble = true;
}
}
function hdr_contract(object)
{
var object = hdr_ref(object);
if( !object.style )
{
return false;
}
else
{
object.style.display = 'none';
}
if (window.event)
{
window.event.cancelBubble = true;
}
}
function hdr_toggle(object, open_close, open_icon, close_icon)
{
var object = hdr_ref(object);
var icone = hdr_ref(open_close);
if( !object.style )
{
return false;
}
if( object.style.display == 'none' )
{
object.style.display = '';
icone.src = close_icon;
}
else
{
object.style.display = 'none';
icone.src = open_icon;
}
}
nun ist es ja bei vbb und ipb standart, das quasi jede box und alles im forum ein und ausklappbar ist und: dieser zustand wird per cookie gespeichert !! d.h. wenn ich bespielsweise im portal die boxen "wetter" und "wer ist online" zuklappe, und dann irgendwann später wieder aufs portal geh, sind die immer noch zu.
nur mal so als beispiel.
ich würde gern wissen, wie könnte man bei dem javascript von oben den zustand ob etwas ein- oder ausgeklappt ist, auch per cookie speichern und nicht per default festlegen?