• Страница 1 из 1
  • 1
Сохранение функции
Андрей
Дата: Воскресенье, 15.11.2009, 02:28 | Сообщение # 1
шептун
Группа: Проверенные
Пользователь №: 189
Сообщений: 65
Получено оценок: 11
Вопрос такой:
есть информационный блок (демка в аттаче),
как сделать так, чтоб при перезагрузке, или переходе на другую страницу, блоки котрые были перед этим открыты, оставались открытыми?
Прикрепления: inf.rar (2.6 Kb)


Сообщение отредактировал Андрей - Воскресенье, 15.11.2009, 02:29
  
chu4___x
Дата: Воскресенье, 15.11.2009, 03:39 | Сообщение # 2
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
Ссылки для ознакомления.
http://helper.ucoz.ru/publ/coding/cookie_kukisy/2-1-0-14
http://webcodes.ru/publ/1-1-0-631


«POST данные для модулей системы»
  
Aleko
Дата: Воскресенье, 15.11.2009, 20:59 | Сообщение # 3
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Андрей, либо использовать часть в адресе страницы как у меня на главной. http://studioad.ru?какой_блок_открыть

Бесплатные обои.
  
Андрей
Дата: Понедельник, 16.11.2009, 05:08 | Сообщение # 4
шептун
Группа: Проверенные
Пользователь №: 189
Сообщений: 65
Получено оценок: 11
Aleko, ...? не понял про что ты.
chu4___x, спасибо, инфа полезная, но мне пока в такие дебри рано лезть
  
Aleko
Дата: Понедельник, 16.11.2009, 06:37 | Сообщение # 5
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Андрей, использовать search или hash данные в теле ссылки, чтобы уже по ним ориентироваться, что показать на странице. алгоритм простой:

Code
1берем ссылку http://site.ru#main
2
3<script>
4var par = document.location.hash; // получаем хэш из ссылки
5// задаем варианты реагирования
6var todo = {  
7       '#main':function(){ что либо },
8       '#enother':function(){ ещё что то }
9       }
10todo[par](); // выполняем
11</script>


Бесплатные обои.
  
Андрей
Дата: Понедельник, 16.11.2009, 15:57 | Сообщение # 6
шептун
Группа: Проверенные
Пользователь №: 189
Сообщений: 65
Получено оценок: 11
Цитата (Aleko)
http://studioad.ru?какой_блок_открыть

по ссылке открывается только главная страница, я так понимаю, должно быть что-то ещё?
Цитата (Aleko)
использовать search или hash данные в теле ссылки, чтобы бла-бла-бла

Тоесть к ссылкам приписывать #что-то, или скрипт сам должен это делать?


Пробовал разобраться с куками.
У меня есть такой скрипт:
Code
1<script>
2var $j = jQuery.noConflict();
3
4function switchStyle(styleName){
5  if (styleName){
6   $j('article').removeClass();
7   $j('#styleSwitch li').removeClass('selected');
8   $j('#' + styleName).addClass('selected');
9   $j('article').addClass(styleName);
10  }
11  createCookie('style', styleName, 365);
12}
13
14$j(document).ready(function(){
15  $j('#styleSwitch li#style').addClass('selected');
16  $j('#styleSwitch li').bind('click', function(){
17   switchStyle(this.id);
18   return false;
19  });
20  var c = readCookie('style');
21  if (c) switchStyle(c);
22});
23
24function createCookie(name,value,days) {
25  if (days) {
26   var date = new Date();
27   date.setTime(date.getTime()+(days*24*60*60*1000));
28   var expires = "; expires="+date.toGMTString();
29  }
30  else var expires = "";
31  document.cookie = name+"="+value+expires+"; path=/";
32}
33function readCookie(name) {
34  var nameEQ = name + "=";
35  var ca = document.cookie.split(';');
36  for(var i=0;i < ca.length;i++) {
37   var c = ca[i];
38   while (c.charAt(0)==' ') c = c.substring(1,c.length);
39   if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
40  }
41  return null;
42}
43function eraseCookie(name) {
44  createCookie(name,"",-1);
45}
46</script>

Тут к <article> добавляется класс .style
а к выделенному списку <li id style1(234) класс .selected
Все это сохраняется в кукисах,
в примере по которому был вопрос, добавляется не класс, а только изменяется style="height: 0pt;" на style="height: auto; opacity: 1;"
Вот я и думаю, как ЭТО присобачить к тому что выше


Сообщение отредактировал Андрей - Понедельник, 16.11.2009, 16:08
  
chu4___x
Дата: Понедельник, 16.11.2009, 17:14 | Сообщение # 7
говорун
Группа: Проверенные
Пользователь №: 13
Сообщений: 211
Получено оценок: 19
Андрей, почему у тебя функции куков стоят после из вызова?
зы. ты видишь что у тебя за спиной? :D


«POST данные для модулей системы»
  
Андрей
Дата: Понедельник, 16.11.2009, 17:33 | Сообщение # 8
шептун
Группа: Проверенные
Пользователь №: 189
Сообщений: 65
Получено оценок: 11
chu4___x,
работает и ладно ;)
  
Aleko
Дата: Понедельник, 16.11.2009, 21:59 | Сообщение # 9
Watching you
Группа: Администраторы
Пользователь №: 2
Сообщений: 1621
Получено оценок: 167
Цитата (chu4___x)
почему у тебя функции куков стоят после из вызова

В случае если функция обявляется как функциятак можно делать. И вызываться она будет откуда угодно. А вот если функция присваивается переменной, напримерто вызвать её можно будет только после объявления.


Бесплатные обои.
  
  • Страница 1 из 1
  • 1
Поиск:
© Studioad.ru 2006 · 2010. Использование материалов форума на сторонних ресурсах без прямой обратной ссылки строго запрещено. Хостинг от uCoz.