0

ランダムな複数の要素を非表示にしようとしているので、それぞれに一意の ID が与えられました。

$(function() {
  var left= $('#left'),
      right = $('#right'),
      heads = $('.maintitle'),
      i,
      leftHead = $(left).find(heads),
      rightHead = $(right).find(heads);
        $(leftHead).prepend('<div class="close"></div>');
        $(rightHead).prepend('<div class="close"></div>');
      var close = $('.close'),
      Lnumber = $('#left .module'),
      Rnumber =$('#right .module');
          for (i=0;i<Lnumber.length;i++) {
               $(Lnumber)[i].id='widg'+i; 
               }
       close.click(function() {
            var id = $(this).parent().parent().attr('id');
            $(this).parent().parent().slideUp().addClass('hidden');
            SetCookie('hidden'+id,"true",100);
            });
      var cookieId = $('#left .module');
           for (i=0;i<cookieId.length;i++) {
             var newArray = [cookieId[i].id];
           if (ReadCookie(newArray) == 'true') {
               var cName = newArray.replace('hidden','');
               alert(cName);
              }
            }  
        });

ReadCookie 関数でわかるように、非表示の ID を警告するようにしていますが、これもまだ機能していません。私は Cookie を初めて使用し、これを正しく機能させるのに苦労しています。

クッキーの機能は次のとおりです...

function SetCookie(cookieName,cookieValue,nDays) {
var today = new Date();
var expire = new Date();
if (nDays==null || nDays==0) nDays=1;
expire.setTime(today.getTime() + 3600000*24*nDays);
document.cookie = cookieName+"="+escape(cookieValue)
    + ";expires="+expire.toGMTString(),';path = /';
 }

function KillCookie(cookieName) {
    SetCookie(cookieName,"", - 1);
 }

function ReadCookie(cookieName) {
  var theCookie=""+document.cookie;
  var ind=theCookie.indexOf(cookieName+"=");
  if (ind==-1 || cookieName=="") return "";
  var ind1=theCookie.indexOf(";",ind);
  if (ind1==-1) ind1=theCookie.length; 
  return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
  }

誰かがこれを行う他の方法を見つけた場合は、特定の ID を取得して、クリックしてページを変更したときにそれらが非表示のままであることを確認する必要があります。

4

1 に答える 1

0

jQuery Cookie プラグインを試しましたか?

https://github.com/carhartl/jquery-cookie

次に、サイト全体で有効な期限切れの Cookie を作成します。

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

次に、Cookie を読み取ります。

$.cookie('the_cookie'); // => "the_value"
于 2013-04-10T03:26:53.683 に答える