0

我有一个问题正在杀死我,我尝试将 div 隐藏 24 小时(跨越窗口的 div),但我犯了一些错误,但没有奏效。请有人检查我的测试链接http://testare.besaba.com,我使用下面的代码,错误可能在我的 css http://testare.besaba.com/fx.base/site/css/commontest.css中在文件 #span {display: none;} 的末尾添加了这一行。我看到代码在这里 jsfiddle.net/Nd4xb/ 工作正常,只是在我的网站上它不起作用。

谢谢

html代码:

<div id="span" class="promo_header">



  <a href="javascript:void(0)" class="close_promo_header" id="close" onclick="hidePromoPanel('/');"><font color="white">Close </font><span>X</span></a>

<button>Clear cookie</button></div>

JavaScript 代码:

<script>
$(document).ready(function () {

if (!readCookie('hide')) {
    $('#span').show();
}
/*else {
    $('#span').hide();
}*/


$('#close').click(function () {
    $('#span').slideUp("slow");
    createCookie('hide', true, 1)
    return false;
 });

 $('button').click(function() {
    eraseCookie('hide');
 })

 });

 function hidePromoPanel() {}

 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 = "";
 document.cookie = name + "=" + value + expires + "; path=/";
 }

 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 null;
 }

 function eraseCookie(name) {
 createCookie(name, "", -1);
 } </script>
4

1 回答 1

1

尝试这样的事情。只是在 jsFiddle 中构建它,但由于它很有趣而无法保存它:(

<div id="promo" style="display:none">
    Some message here 
    <button>Ok</button>
</div>

<script>
function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    if (exdays) exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays) ? '; expires=' + exdate.toUTCString() : '');
    document.cookie = c_name + "=" + c_value;
}

function getCookie(name) {
    var re = new RegExp(name + "=([^;,]+)");
    var value = re.exec(document.cookie);
    return (value !== null) ? unescape(value[1]) : null;
}

if (!getCookie('promo')) {
    document.getElementById('promo').style.display = 'block';
}

document.getElementById('promo').getElementsByTagName('button')[0].onclick = function () {
    document.getElementById('promo').style.display = 'none';
    setCookie('promo', '1', 1);
};
</script>
于 2013-03-17T19:08:53.803 回答