每个用户显示一次jquery对话框

时间:2011-04-21 19:39:19

标签: javascript jquery jquery-ui-dialog

我在页面打开时使用模态对话框,我想为每个用户显示一次。 这是代码,但它不起作用

<script type="text/javascript">
// <![CDATA[
$(document).ready(function(){
    $("#dialog").dialog({
        modal: true
    }); 
    $(function() {
        if ($.cookie('shownDialog') != 'true') {
            $('#dialog').dialog();
        }
        $.cookie('shownDialog', 'true', {expires: 7});
    });
    $("#close").click(function(event) {
        event.preventDefault();
        $(this).closest(":ui-dialog").dialog("close");
    });
});
// ]]>
</script>

有人可以帮我修改代码吗?

1 个答案:

答案 0 :(得分:0)

我猜你总是会看到对话框而不是每个用户一次。

$(document).ready(function(){
     $("#dialog").dialog({
                modal: true
}); 

这部分将在到达您的支票显示之前立即显示对话框。

你应该摆脱它并将你的模态选项转移到if块中:

<script type="text/javascript">
// <![CDATA[
$(document).ready(function(){
    $(function() {
          if ($.cookie('shownDialog') != 'true') {
              $("#dialog").dialog({
                    modal: true
               }); 
          }
          $.cookie('shownDialog', 'true', {expires: 7});
    });
    $("#close").click(function(event) {
      event.preventDefault();
      $(this).closest(":ui-dialog").dialog("close");
    });
});
// ]]>
</script>