2012-04-19 4 views
0

divを作成してjqueryを使用してdivを非表示にして表示しました。ユーザーがhideをクリックすると、ユーザーがページを再び読み込むまで5分間divを非表示にします。私はクッキーに状態(隠されているかどうか)を保存しました。ユーザーが5分以内に2回目のページを読み込んだとき、divは非表示にする必要があります。私は下のコードを試して、それは動作していません。誰か助けてくれますか?ページを読み込むときにクッキー値に基づいてdivを非表示にする

<script> 
     $(document).ready(function() { 
      if (getCookie(hidden) === "yes") { 
       $("#divAlert").hide(); 
       if ($("#Hide").is(":visible")) { 
        $("#Hide").css("visibility", "hidden"); 
       } 

       $("#Show").css("visibility", "visible"); 
      } 


      $("#Hide").click(function() { 
       $("#divAlert").hide(); 
       if ($("#Hide").is(":visible")) { 
        $("#Hide").css("visibility", "hidden"); 
       } 
       setCookie(); 
       $("#Show").css("visibility", "visible"); 

      }); 

      $("#Show").click(function() { 
       $("#divAlert").show(); 

       $("#Hide").css("visibility", "visible"); 


       if ($("#Show").is(":visible")) { 
        $("#Show").css("visibility", "hidden"); 
       } 
      });   
     }); 

     function setCookie() { 
      var currentDate = new Date(); 
      document.cookie = "hidden=yes;exppires=" + currentDate.getMinutes() + 1; 
     } 

     function getCookie(cookiename) { 
      var results = document.cookie.match('(^|;) ?' + cookie_name + '=([^;]*)(;|$)'); 

      if (results) 
       return (unescape(results[2])); 
      else 
       return null; 
     } 
    </script> 
+0

これを読んでください** http://www.electrictoolbox.com/jquery-cookies/**? –

答えて

1

、あなたのgetCookie()setCookie()の機能が正常に動作し、あなたのコード行を想定すると:

getCookie(hidden); 

する必要があります:あなたが見ている場合は、すぐにこの問題を見ているだろう

getCookie("hidden"); 

あなたのjavascriptエラーコンソールはおそらくスクリプトエラーです。

あなたのコードの残りの部分は次のように簡略化することができます。

$(document).ready(function() { 
     if (getCookie(hidden) === "yes") { 
      $("#divAlert").hide(); 
      $("#Hide").css("visibility", "hidden"); 
      $("#Show").css("visibility", "visible"); 
     } 


     $("#Hide").click(function() { 
      $("#divAlert").hide(); 
      $(this).css("visibility", "hidden"); 
      $("#Show").css("visibility", "visible"); 
      setCookie(); 

     }); 

     $("#Show").click(function() { 
      $("#divAlert").show(); 
      $(this).css("visibility", "hidden"); 
      $("#Hide").css("visibility", "visible"); 
     });   
    }); 
0

getCookie(cookiename)機能では、それはcookienameする必要がありますcookie_nameを参照します。

関連する問題