Получить связанное подменю Jquery, чтобы оставаться открытым при загрузке новой страницы? - PullRequest
1 голос
/ 06 июня 2011

Мне нужна помощь со следующим меню .

Как заставить определенное подменю оставаться открытым при нажатии на элемент подменю и загрузке другой страницы.

Код на jsfiddle

Ответы [ 3 ]

5 голосов
/ 06 июня 2011

Если вы перезагрузите всю страницу, вы должны отправить некоторую информацию на новую страницу.Чтобы достичь этого, вы должны изменить ссылки пунктов вашего подменю или установить cookie.При загрузке страницы вы должны проанализировать эту информацию (URL или cookie) и применить ее к своему меню.Вы также можете использовать некоторый код на стороне сервера, чтобы иметь предварительно обработанный HTML-код, в котором ваше подменю уже открыто.

В этом случае jsFiddle не является хорошим помощником, чтобы показать вам, как он может работать.

РЕДАКТИРОВАТЬ:

Вы можете сделать следующее (не проверено):

Дать верхнему меню <div> уникальный идентификатор, то есть

<div class="menutop" id="posts">

Добавить хэш для каждого URL-адреса подэлемента, например

<li><a href="/Post/New#posts">Add New</a></li>

Попробуйте этот хеш, чтобы открыть меню

$(document.location.hash).click();
0 голосов
/ 06 июня 2011

Это работает? Вы должны иметь возможность разместить его чуть выше функции hitMe.

var url = document.location.toString();
var url_array = url.split("/");
// get last item in array
var last = url_array[url_array.length-1];
$('a').each( function() {
    // if it matches
    if ($(this).attr('href').indexOf(last) != -1) {
       $(this).parent().parent().show();
       $(this).css( { 'background': '#FFF4D2', 'color': '#333' });
    }
});

Это должно принять значение пути ссылки и открыть / стилизовать список.

EDIT

Если вы перейдете на http://jsbin.com/urupo3/5/edit и нажмете «Предварительный просмотр», вы увидите, что код работает, поскольку ссылка <a href="edit"> выделена и расширена.

0 голосов
/ 06 июня 2011

Код, который вы предоставили, работает для меня.

Я раздвоил ваш код и заменил опцию «Пользователи \ Добавить новую» на «Пользователи \ Google»:

 <li><a href="http://www.google.com/" target="_blank">Google</a></li>

http://jsfiddle.net/marcosfromero/UKvva/

EDIT

Прочитав еще один ответ, я понял, что вы хотите оставить подменю открытым после того, как покинули свою страницу. В этом случае мой ответ не поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...