На загрузку страницы нужно прикрутить getCookie, в вашем примере я сделал так (в FF3 прокатило):
<script language="JavaScript" type="text/javascript" src="menu.js"></script>
<table width="200" border="0">
<tr><td class="module-title"><b>Новости</b></td>
<td id="cont" onclick="SwitchMenu('news');SwitchMenu('news1');SwitchMenu('news2');" style="cursor:pointer;" nowrap="nowrap" valign="top">
<div id="news1" style="display:none;"><img src="http://javascript.ru/forum/images/plus.gif" align="right" valign="top"></div>
<div id="news2" style="display:block;"><img src="http://javascript.ru/forum/images/minus.gif" align="right" valign="top"></div>
</td></tr>
<tr><td colspan="2"><div id="news" style="display:block;">
1. Косметолога Оксаны Пушкиной осудили условно<br>
2. «Аэроэкспресс» выплатит компенсацию пассажирам, опоздавшим на самолеты<br>
3. Начала обещанного отдыха в Турции российские дети ждали три дня<br>
4. Медведев поздравил Нельсона Манделу с 90-летием<br>
5. Армия Приднестровья готова помочь Абхазии
</div></td></tr></table>
<script type="text/javascript">
getCookie('news');
</script>
Сам код:
function SwitchMenu(obj) {
if (document.getElementById) {
var el = document.getElementById(obj);
var ar = document.getElementById("cont").getElementsByTagName("td");
if (el.style.display == "none") {
for (var i=0; i<ar.length; i++) {
ar[i].style.display = "none";
}
el.style.display = "block";
setCookie('news', 'false');
} else {
el.style.display = "none";
setCookie('news', 'true');
}
}
}
var TIME = 3*24*60*60*1000; //3 дня
function setCookie (name, value) {
var time = new Date();
time.setTime(Date.parse(time) + TIME);
document.cookie = name + '=' + value + '; expires=' + time;
}
function getCookie(name) {
if (document.cookie.search(name + '=true') != -1) {
SwitchMenu('news');
SwitchMenu('news1');
SwitchMenu('news2');
}
}
Вроде работает.
Украшательствами заниматься не стал...