运行 页面 unload/browser 关闭前的动画
Run animation before page unload/browser close
当用户关闭浏览器 window 或尝试刷新时,浏览器的默认对话框后面会弹出一个模式。但是,如果我尝试对模态应用动画,例如淡入或向下滑动,则只有在确认默认对话框后才会出现动画和模态。
我正在使用 Bootstrap 模式。
这是我的代码:
HTML:
<div class="modal" id="holidays-leave-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<!--content here-->
</div>
JQuery
<script type="text/javascript">
$(window).bind('beforeunload', function() {
$( "#holidays-leave-modal" ).fadeIn();
return ("Don't leave yet!");
});
</script>
这是页面的一个实例:
Modal on page close
如果我将 Jquery 从淡入更改为简单的 'show',模式将与默认对话同时出现。所以我假设动画正在排队。但是,我已经看到模态滑入默认对话框后面的页面背景时完成的。
知道如何让动画播放 before/while 对话框打开了吗?如果我不能使用 Jquery 来制作动画,CSS3 动画也可以。
提示框是模态的,阻止任何挂起的脚本执行。您可以使用 CSS3 animation/transition 但它无法在所有浏览器上按预期工作(我正在考虑 IOS 上的 safari,即使我目前无法对其进行测试)。
这是一个简单的示例,在 beforeunload 处理程序中打开 class 以打开 CSS3 淡入过渡:
CSS
#fadeLink {
opacity: 0;
-webkit-transition: opacity 4s linear;
-moz-transition: opacity 4s linear;
-o-transition: opacity 4s linear;
transition: opacity 4s linear;
}
#fadeLink.fadein {
opacity: 1;
}
js/jQuery
$(window).bind('beforeunload', function() {
$( "#fadeLink" ).addClass('fadein');
return ("Don't leave yet!");
});
当用户关闭浏览器 window 或尝试刷新时,浏览器的默认对话框后面会弹出一个模式。但是,如果我尝试对模态应用动画,例如淡入或向下滑动,则只有在确认默认对话框后才会出现动画和模态。
我正在使用 Bootstrap 模式。 这是我的代码:
HTML:
<div class="modal" id="holidays-leave-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<!--content here-->
</div>
JQuery
<script type="text/javascript">
$(window).bind('beforeunload', function() {
$( "#holidays-leave-modal" ).fadeIn();
return ("Don't leave yet!");
});
</script>
这是页面的一个实例: Modal on page close
如果我将 Jquery 从淡入更改为简单的 'show',模式将与默认对话同时出现。所以我假设动画正在排队。但是,我已经看到模态滑入默认对话框后面的页面背景时完成的。
知道如何让动画播放 before/while 对话框打开了吗?如果我不能使用 Jquery 来制作动画,CSS3 动画也可以。
提示框是模态的,阻止任何挂起的脚本执行。您可以使用 CSS3 animation/transition 但它无法在所有浏览器上按预期工作(我正在考虑 IOS 上的 safari,即使我目前无法对其进行测试)。
这是一个简单的示例,在 beforeunload 处理程序中打开 class 以打开 CSS3 淡入过渡:
CSS
#fadeLink {
opacity: 0;
-webkit-transition: opacity 4s linear;
-moz-transition: opacity 4s linear;
-o-transition: opacity 4s linear;
transition: opacity 4s linear;
}
#fadeLink.fadein {
opacity: 1;
}
js/jQuery
$(window).bind('beforeunload', function() {
$( "#fadeLink" ).addClass('fadein');
return ("Don't leave yet!");
});