2011-11-03 117 views
0

我创建了一个应该在点击时删除的div框。会有一个小的“X”图像,当你点击它时,该框消失。应该没有选项可以再次显示。理想情况下,我想以某种方式将信息保存到cookie中,以便它不会出现在页面刷新或查看其他页面时(它将在站点范围内实施)。带jQuery的隐藏/关闭按钮

这里是我的简单示例代码:

http://jsfiddle.net/2gNrC/

回答

1

快速和肮脏的:(http://jsfiddle.net/bambitlaw/RsS5V /)

$(document).ready(function(){ 
$('#closebutton').click(function(){ 
    $('#box').hide(); 
    $(this).hide(); 
    document.cookie="hideit=yes"; 
});  
var i,x,y,ARRcookies=document.cookie.split(";"); 
for (i=0;i<ARRcookies.length;i++) 
{ 
    x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
    y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
    x=x.replace(/^\s+|\s+$/g,""); 
    if (x=="hideit") 
    { 
    $('#box').hide(); 
    $('#closebutton').hide(); 
    } 
    } 

});

+0

我用这个,只用“删除”替换“隐藏”,以避免显示:在CSS中没有。 – tommie111

0

我相信你是在谈论一个jQuery对话框。我通常使用“X”字符本身,它看起来不错。样本如下。

$('#yourdiv').dialog({ 
     closeOnEscape: true, 
     draggable: true, 
     modal: true, 
     closeText: 'X', 
     width: 500, 
     title: 'Your Title', 
     buttons: [ 
        { 
         text: "Save", 
         click: function() { 
          $(this).dialog("close"); 
         } 
        }, 
        { 
         text: "Cancel", 
         click: function() { 
          $(this).dialog("close"); 
         } 
        } 

       ] 
    }); 
3

这是一个使用localStorage的解决方案 - 我把它作为一个练习,读者可切换到使用cookie:

http://jsfiddle.net/aTKs5/7/

+0

谢谢,这个作品在JSfiddle中很棒!我会尽力实施它并让你知道。 – tommie111

+0

联机时不起作用。我是否正确包装?脚本在头部使用以下代码: tommie111

+0

我已经更新了小提琴,以便在'$(document).ready()'中包装所有东西,就像我从一开始就应该做的那样 - 抱歉! – Benjie