2015-03-13 84 views
0

我有一个模式框设置,并使用jQuery代码片段进行控制。当一个页面被加载时,它显示一个基本的免责声明并设置一个cookie。模式关闭后启动动画

<script> 
    $(function() { 
     // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore! 
     $("#dialog:ui-dialog").dialog("destroy"); 

     if ($.cookie('showDialog') == undefined || $.cookie('showDialog') == null || $.cookie('showDialog') != 'false') { 
     $("#dialog-message").dialog({ 
      open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }, 
      modal: true, 
      buttons:{ "OK": function() { $(this).dialog("close"); $.cookie('showDialog', 'false', { expires: 3650 }); } }, 
      draggable: false, 
      resizable: false, 
      width: 1000, 
     }); 
     }  
}); 
    </script> 

我也有在页面加载时,问题是,如果声明显示,由一次有人点击了关闭,则Swiffy与动画已经走完运行Swiffy与对象。有没有办法修改我的代码片段,以便在用户关闭时启动swiffy动画?

+1

嗯..是的,你可以把这个'swiffy'的执行放在''OK''回调中 – skip405 2015-03-13 10:08:58

回答

1

我不知道这部分代码应该启动Swiffy与动画,但你可以从jQuery UI的对话框使用关闭事件是这样的:

$("#dialog-message").dialog({ 
    //... 
    close: function(event, ui) { 
     //start swiffy animation 
    } 
}); 

但由于动画也应该开始当已经看到免责声明时,您可能还需要在检查cookie的其他情况下调用动画。