веб-мастеру Услуги SEO Статьи Веб-Мастера Доменные имена SEO Tools whois книги веб-мастеру

IPB

Здравствуйте, гость ( Вход | Регистрация )



 
Ответить в эту темуОткрыть новую тему
> javascript меню и cookie!Помогите пожалуйста!, использование cookie в javascript меню
Мариночка
сообщение 12.5.2010, 13:04
Сообщение #1


Прохожий
*

Группа: Пользователи
Сообщений: 1
Регистрация: 12.5.2010
Пользователь №: 3 523



Всем привет. smile.gif Очень нужна ваша помощь в решении следующей задачи: Я сделала раскрывающееся меню на javascript, и теперь мне нужно сделать так чтобы раздел меню не закрывался, пока пользователь просматривает подразделы этого раздела. Помогите, реализовать это с помощью cookie. Заранее большое СПАСИБО))). smile.gif
Вот скрипт меню:
<script type="text/javascript">
$(document).ready(function()
{

$("#firstpane p.menu_head").click(function()
{
$(this).css({backgroundImage:"url(blocks/images/down.png)"}).next("div.menu_body").slideToggle(300).siblings("div.menu_body").slideUp("slow");
$(this).siblings().css({backgroundImage:"url(blocks/images/left.png)"});
});

});
</script>
А вот реализация самого меню:
<div id="firstpane" class="menu_list">
<p class="menu_head">Раздел1</p>
<div class="menu_body">
<a href="#">Подраздел1</a>
<a href="#">Подраздел2</a>
<a href="#">Подраздел3</a>
<a href="#">Подраздел4</a>
</div>
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
gid
сообщение 13.5.2010, 16:16
Сообщение #2


Администратор форума
*****

Группа: Главные администраторы
Сообщений: 761
Регистрация: 27.11.2006
Из: Россия
Пользователь №: 1



Через cookie данный вопрос не решается, нужно либо использовать AJAX, либо формировать страницы с "раскрытым" меню на сервере, но в любом случае придется искать "родителя", для открытой страницы с помощью запросов к БД/списку файлов/etc...

По-другому - нельзя, т.к. если пользователь откроет новую вкладку с вашим сайтом, то скорее всего, у него возникнет путаница, с навигацией по разделам...


--------------------
В своей работе я использую:
Sape - для купли/продажи ссылок со страниц сайтов Изображение ИзображениеMiralinks и Advego - для купли/продажи рекламных статей
SEOBudget и CS Yazzle - для оценки бюджетаИзображениеИзображениеИзображениеИзображениеSeoPult - для автоматического продвижения (когда ленюсь)
HT-Systems - надежный хостинг, для больших сайтов

Хочу жить на о.Самуи ***** Мониторинг позиций сайтов ***** Создание сайтов и их поисковая оптимизация
Изображение |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DoweResp
сообщение 19.6.2010, 0:44
Сообщение #3


Прохожий
*

Группа: Пользователи
Сообщений: 3
Регистрация: 19.6.2010
Пользователь №: 3 658



gid, ещё как можно. И без всяких AJAX и JQuery.
Это java script:
Код

<script type="text/javascript">
function set_cookie(name, value, expires) {
if (!expires)
{
expires = new Date();
}
document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() +  "; path=/";
}

function get_cookie(name) {
cookie_name = name + "=";
cookie_length = document.cookie.length;
cookie_begin = 0;
while (cookie_begin < cookie_length)
{
value_begin = cookie_begin + cookie_name.length;
if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)
{
var value_end = document.cookie.indexOf (";", value_begin);
if (value_end == -1)
{
value_end = cookie_length;
}
return unescape(document.cookie.substring(value_begin, value_end));
}
cookie_begin = document.cookie.indexOf(" ", cookie_begin) + 1;
if (cookie_begin == 0)
{
break;
}
}
return null;
}

function save_cookie(i) {
var tmp = i;
if(document.cookie!='') {
  if(document.getElementById('item'+i).style.display=='block') {
   var tmp = '';
   document.getElementById('item'+i).style.display = 'none';
  }else{
   document.getElementById('item'+i).style.display = 'block';
  }
}else{
  document.getElementById('ds'+i).style.display = 'block';
}
var name = "id";
expires = new Date();
expires.setTime(expires.getTime() + (1000 * 86400 * 365));
set_cookie(name, tmp, expires);
}

function block() {
var p = String;
p=get_cookie('id');
document.getElementById('item'+p).style.display = 'block';
}
</script>

А вот само меню:
Код

<body onload="block()">
<a href="java script:save_cookie(1);">Раздел 1</a>
<div id="item1" style="display:none">
<a href="#">1-1</a><br/>
<a href="#">1-2</a><br/>
<a href="#">1-3</a><br/>
<a href="#">1-4</a>
</div><br/>
<a href="java script:save_cookie(2);">Раздел 2</a>
<div id="item2" style="display:none">
<a href="#">2-1</a><br/>
<a href="#">2-2</a><br/>
<a href="#">2-3</a><br/>
<a href="#">2-4</a>
</div>
</body>


P.S: если кто захочет применить код? удалите пробелы в коде между java script smile.gif
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Быстрый ответОтветить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 10.9.2010, 23:41
^ ВВЕРХ ^

Посетите наши проекты:
Бодибилдинг.info - город находка пауэрлифтинг
php скрипты скачать