【问题标题】:jQuery: fadeIn() and fadeOut() before unloadjQuery:卸载前的fadeIn() 和fadeOut()
【发布时间】:2018-02-04 00:19:21
【问题描述】:

我是 jQuery 新手,一直在尝试解决这个问题。

我有一个课程作业,我必须为 JQuery 中的页面卸载创建一个事件处理程序,该处理程序在触发时会淡出(3000)一个 div,然后文本“谢谢”将淡出(3000)。我假设讲师的意思是有一个按钮或链接离开窗口并转到另一个页面但首先执行淡入/淡出。

我在使用 FadeIn/FadeOut 选项时没有任何问题。我遇到了卸载问题...如何让它进入新页面,但首先执行 fadeOut(2000)/fadeIn(2000)?

我在解决这个问题时遇到了问题。据我了解,卸载仅与 $(window) 兼容,所以我唯一能做的就是发出警报?

这是我目前所拥有的,但这不是卸载,我试图弄清楚一旦你卸载后如何让这种效果发挥作用。这可能吗?

JQ

$(function () {
    $(".btn1").click(function () {
        $("#fadeout").fadeOut(3000);
        $("#thankyou").fadeIn(3000);
    });

});

CSS

btn1 {
display:none;}

HTML

<button id="btn1" class="btn1">CLICK</button>

当您点击按钮时,我是否可以添加延迟以关闭窗口并同时链接其他内容?

【问题讨论】:

  • 卸载是什么意思?你是说 onLoad 吗?
  • 我的意思是 .unload()。偶数处理程序

标签: javascript jquery


【解决方案1】:

$(".btn1").click(function() {
  $("#fadeout").fadeOut(3000, function() {
    $("#thankyou").fadeIn(3000, function() {
      location="url";
    });
  });
});
#thankyou {
  display: none
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='fadeout'>Hello World!</div>
<div id='thankyou'>Thank you!</div>
<button class='btn1'>Click</button>

这?

【讨论】:

  • 这太棒了!谢谢。但是有没有办法用 unload() 事件处理程序来做到这一点?
  • 我相信 onbeforeunload 或 unload 事件处理程序可以延迟页面的卸载,但它不能同时为页面设置动画。它有点冻结页面,所以你看不到动画:
  • 是的,我就是这么想的,这就是为什么我在完成这项任务时如此困难的原因。
猜你喜欢
  • 1970-01-01
  • 2010-11-20
  • 2013-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-01
  • 2013-03-03
  • 1970-01-01
相关资源
最近更新 更多