JQuery - Hide / Show - "Session"

2 Cevap php

Sitemde bu bağlantılar ve divs kullanın:

<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>

Ve bu jquery gizlemek ve menüsünü göstermek için.

$('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;
      });

I sayfayı yeniden yükleyin, nasıl ben bu kodu değiştirebilirsiniz, daha sonra son görünür DIV görünür kalmak olduğunu. (I jquery oturumu ile deneyin ama çalışmıyor. Bunun için sorgu dizesi kullanmak istemiyorum ..)

Yardımlarınız için teşekkür ederiz ...

2 Cevap

Çerezler katlanabilir divs kalıcı ideal bir yol olacaktır, ShopDev Eğer jQuery çerez eklentisi kullanarak, yapmaya çalışıyorsunuz gibi aynı şeyi başarmak için nasıl mükemmel bir öğretici vardır.

Temelde için çerez bir değer ayarlamak her div Eğer devam etmek istiyorum ve bu olay çerez değerini güncelleştirin olur zaman, örneğin:

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

Ayrıca sayfa önce her div, örneğin devlet yüklendiğinde kontrol etmeniz gerekir

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

if (menu_1 == 'collapsed') {
    $('#menu_1').css("display","none");
};

Basit, saf JavaScript yolu: set cookie.