4

メニューにクッキーを設定するタスクがあります。水平メニューがあります。メニューをクリックすると、メニューのIDがクッキーに設定されます。しかし、次のメニュークッキーを選択すると、最初の入力値が表示されます.そのために使用しました.しかし、$.removeCookie("activeDivId");正しく動作しません.どうすればこの問題を解決できますか? HTMLコードは

 <div class="menuBar">
            <div id="divHome" class="menuHeader ui-corner-top">
                <span><a href="#" onclick="Home()" id="home">Home</a></span>
            </div>
            <div id="divNewTransaction" class="menuHeader ui-corner-top">
                <span><a href="#" onclick="NewTransaction()" >New Transaction</a></span>
            </div>
</div>

JavaScriptファイルは

   $(document).ready(function () {
                $(".menuHeader").click(function () { 
                $.removeCookie("activeDivId");
                $.cookie("activeDivId", this.id); });
                alert(document.cookie);
                var activeDivId = $.cookie("activeDivId") ? $.cookie("activeDivId") : "divHome";
                $("#" + activeDivId).addClass("menuHeaderActive");
            });
4

2 に答える 2

0

jquery メソッドの代わりにこのメソッドを使用できます

         function createCookie(name, value, days) {
          if (days) {

              var date = new Date();
              date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
              var expires = "; expires=" + date.toGMTString();
          }
          else var expires = "";

          //var fixedName = '';
       /// name =name;

          document.cookie = name + "=" + value + expires + "; path=/";
          this[name] = value;
      }

      function readCookie(name) {

          var nameEQ = name + "=";
          var ca = document.cookie.split(';');
          for (var i = 0; i < ca.length; i++) {
              var c = ca[i];
              while (c.charAt(0) == ' ') c = c.substring(1, c.length);
              if (c.indexOf(nameEQ) == 0) 
              return c.substring(nameEQ.length, c.length);

          }
          return c;
      }

      function eraseCookie(cookiename) {
          this.createCookie(cookiename, '', -1);
          this[cookiename] = undefined;
         // Ecookie(cookiename);


           }
于 2013-04-04T08:37:51.297 に答える