我是Jquery的初学者,正在努力适应它。有没有可以绑定到页面上的事件来停止我的幻灯片计时器?
我想做的是,当用户更改页面或转到另一个标签页时,我想捕获该事件。是否有任何事件或侦听器可以实现这个目的?
onbeforeunload
代替unload
,以便为您提供最大的时间。但是,如果您计划在此时向服务器发出请求(或执行任何异步操作),则可能会发生竞争条件,有时请求可以通过,有时则不行。unload
或beforeunload
事件中做某些事情很少有意义。$('a').click(function(){ this.href=this.href + "#timer=" + timerVar; });
当您进入下一页时,您可以从URL中读取上一个值。
谷歌分析通过给所有链接添加延迟来解决此问题:
$('a').click(function(){
var that = this;
setTimeout(function(){
window.location=that.href;
},100);
return false;
});
这只是为您的页面提供了额外的时间来跟随链接。虽然它并不是万无一失的,但对于谷歌来说并不重要,因为分析数据有些瞬时性(而且他们还将url参数用于其他更重要的事情(例如活动))。
window.onfocus
,在较新的浏览器中,您可能可以通过使用requestAnimationFrame
来解决问题,它只在窗口聚焦时触发。不过这是一个相当大的hack。由你决定。 - Alex Sexton