Jquery - Скрыть / Показать - Проблема "Session" - PullRequest
1 голос
/ 01 ноября 2009

Я использую эти ссылки и ссылки на мой сайт:

<p><a href="#" class="navlink" id="navlink_1">Menu1</a> | <a href="#" class="navlink" id="navlink_2">Menu2 |</a><a href="#" class="navlink" id="navlink_5"> Menu 3|</a></p>

<div id="menu_1" class="mymenu">
</div>
<div id="menu_2" class="mymenu">
</div>
<div id="menu_3" class="mymenu">
</div>

А это jquery, чтобы скрыть и показать меню.

$('div[class*="mymenu"]').hide(); 
 var current;
       var showMenu = function(e) {
    // read the id out of the clicked elements id ('navlink_ID')
        var id = e.id.split('_');
        $('div#menu_' + id[1]).show();
    // store this element as new current visible
        current = e;
      }

      // hide all menu elements
      $('div.mymenu').hide();
      $('a.navlink').click(function() {
        if (this != current) {
          // check if an element is visible -> hide it and show new menu
          if (current) {
            var id = current.id.split('_');
            $('div#menu_' + id[1]).hide(200,showMenu(this));
          } else {
            showMenu(this);

          }
        }
        return false;
      }); 

Как я могу изменить этот код, если я перезагрузил страницу, то последний видимый DIV остается видимым. (Я не хочу использовать строку запроса для этого. Я пытаюсь с JQuery сессии, но не работает ..)

Спасибо за помощь ...

Ответы [ 2 ]

5 голосов
/ 01 ноября 2009

Cookies - это идеальный способ сохранить ваши разборные элементы div, ShopDev имеет отличное руководство о том, как добиться того же, что вы пытаетесь сделать, используя плагин jQuery cookie.

Обычно вы устанавливаете значение в cookie для каждого div, которое хотите сохранить, и всякий раз, когда происходит событие, вы обновляете значение в cookie, например ::

.
$.cookie('menu_1', 'expanded');

Также вам нужно проверить, когда страница впервые загружается, состояние каждого div, например,

var menu_1 = $.cookie('menu_1');

if (menu_1 == 'collapsed') {
    $('#menu_1').css("display","none");
};
0 голосов
/ 01 ноября 2009

Самый простой способ JavaScript: установить cookie.

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