我不确定是否可能,但我真的希望是这样。我在http://www.sarahnwatson.com有一个网站。当页面加载时,它会播放几个jQuery动画,我想知道当页面卸载时是否可以反向执行它们。
如果是这样,怎么样?这是我正在努力工作的代码,但它根本没有。
$(window).bind('beforeunload', function(e) {
$list.children().each(function(i, el) { // loop through the LI elements within $list
$(el).delay(500 * i).animate({'left': '-300px'}, 1000);
});
return false;
});
相反,我只是进行对话。
答案 0 :(得分:4)
您只能控制源自页面中链接的事件。考虑到这一点,您可以覆盖页面中所有链接的点击事件。
var goToURL = null;
$('a').click(function() {
var goToURL = $(this).attr("href");
$(el).delay(500 * i).animate({'left': '-300px'}, 1000, function() {window.location = gotoURL;});
return false; // or e.preventDefault();
}
});
答案 1 :(得分:1)
我想你想要卸载。
$(window).unload(function() {
alert('Handler for .unload() called.');
})
答案 2 :(得分:0)
不幸的是,onbeforeunload
onbeforeprint
不在W3C标准DOM事件中,
来自MDN:
没有公开规范。 onbeforeunload由介绍 Microsoft IE 4随后被其他浏览器复制。
无论如何,微软有这个活动documented。您可以通过关闭浏览器来调用此事件。但由于某种原因,此事件不会阻止非IE浏览器中的默认浏览器行为(关闭窗口或选项卡)。
以下是关于webkit docs
的unload
事件的好文章