Как сохранить кеш в JavaScript
Вложений: 1
Помогите, пожалуйста !
Я совсем не знаю JavaScript Но мне нужна ваша помощ Как сделать так что бы после сворачивание блока кеш блока сохранился ! ![]() Точнее после обновление страницы блок был закрытом ! Сейчас если я закрываю блок и обновление страницы блок заново открывается ! Вложение 23 А вот это пример где все правильно работает ! _http://forum.bukhara.uz Заранее огромное спасибо ;) (Я дизайнер в долгу не останусь ) |
Если я правильно понимаю, чтоб подобные данные сохранились после перезагрузки страницы можно использовать:
1. Куки 2. незаметную отправку AJAX-запросов на сервер (прокатит только у зарегистрированных пользователей) 3. Использовать специальные библиотеки (например http://browserpersistence.ru/), которые могут хранить данные на стороне клиента не в куках. На приведенном Вами примере используются куки (если их удалить, то все свернутые блоки развернуться). Какие еще кто знает методы? Про куки тут можете почитать: http://www.codenet.ru/webmast/js/Cookies.php |
Я почитал все что вы дали но че ту меня не получается :mad:
Помогите мне пожалуйста в долгу не останусь :rolleyes: |
На загрузку страницы нужно прикрутить 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'); } } Вроде работает. ;) Украшательствами заниматься не стал... |
Оооооо огромное тебе спасибо ! Все работает как надо :)
|
Часовой пояс GMT +3, время: 20:34. |