2011-12-17 7 views

答えて

3

これは、任意の外部ライブラリを使用せずに簡単な実施例です。あなたはあなたのアニメーション/デザインでそれを改善することができます。また、これらのクッキー機能は非常に簡単ですが、将来ブール値だけでなく設定することもできます。 更新:私はあなたのポップアップを再び表示するためにfunctonを追加しました(ほとんどの場合デバッグ用です)。

<html> 
<head> 
<script type="text/javascript"> 
function setCookie (name, value, expires, path, domain, secure) { 
    document.cookie = name + "=" + escape(value) + 
    ((expires) ? "; expires=" + expires : "") + 
    ((path) ? "; path=" + path : "") + 
    ((domain) ? "; domain=" + domain : "") + 
    ((secure) ? "; secure" : ""); 
} 
function getCookie (name) { 
    var cookie = " " + document.cookie; 
    var search = " " + name + "="; 
    var setStr = null; 
    var offset = 0; 
    var end = 0; 
    if (cookie.length > 0) { 
     offset = cookie.indexOf(search); 
     if (offset != -1) { 
      offset += search.length; 
      end = cookie.indexOf(";", offset); 
      if (end == -1) { 
       end = cookie.length; 
      } 
      setStr = unescape(cookie.substring(offset, end)); 
     } 
    } 
    if (setStr == 'false') { 
     setStr = false; 
    } 
    if (setStr == 'true') { 
     setStr = true; 
    } 
    if (setStr == 'null') { 
     setStr = null; 
    } 
    return(setStr); 
} 
function hidePopup() { 
    setCookie('popup_state', false); 
    document.getElementById('popup').style.display = 'none'; 
} 
function showPopup() { 
    setCookie('popup_state', null); 
    document.getElementById('popup').style.display = 'block'; 
} 
function checkPopup() { 
    if (getCookie('popup_state') == null) { // if popup was not closed 
     document.getElementById('popup').style.display = 'block'; 
    } 
} 

</script> 
</head> 
<body onload="checkPopup();"> 
    <div id="popup" style="display:none">Hello! Welcome to my site. If you want to hide this message then click <a href="#" onclick="hidePopup(); return false;">[x]</a></div> 
    <div>Some static text here.</div> 
    <div>Bring me <a href="#" onclick="showPopup(); return false;">back</a> my popup!</div> 
</body> 
</html> 
+1

インク、BIGおかげで私の質問への答えのために!私はあなたの助けに非常に感謝しています。申し訳ありませんがすぐに答えられませんでした。 – user1103744

+1

あなたは大歓迎です:) – ink

0

オルタナティブ:

-> Using localStorage instead of cookie<br/> 
-> LocalStorage never expire until they delete personal data on browser<br/> 
-> jQuery Library for easy customization on future<br> 
-> re-display hidden remembered content<br> 
-> jsfiddle.net/axcelleria/41t76s8q/<br> 

ああ、私はあなたがあまりにもモバイル検出を必要と覚えていますか..?ここでは編集は次のとおりです。

モバイル検出のために:
jsfiddle.net/axcelleria/nmosxbgm/

関連する問題