Lob*_*obe 8 javascript jquery cross-browser
这个Jquery问题一直困扰着我一段时间.我开发了一个脚本,其中一个功能可以检测鼠标何时从页面顶部离开.这是代码:
$(document).bind("mouseleave", function(e)
{
console.log(e.pageY);
if (e.pageY <= 1)
{
now = new Date();
for (i=0; i < times.length; i++)
{
if (now.getTime() > times[i][0] && now.getTime() < times[i][1])
{
$.fn.colorbox({iframe:true, width:650, height:600, href: "work.html", open: true});
}
}
}
});
Run Code Online (Sandbox Code Playgroud)
这适用于所有浏览器.出于某种原因,它在Chrome中随机工作,在Firefox中对于测试该网站的朋友来说似乎完全没有.在我的浏览器(firefox 3.5.3)中,e.pageY在控制台框中记录为0附近的数字,但在我的朋友浏览器(也是firefox 3.5.3)中,最低值约为240.我不知道为什么这样正在考虑相同的浏览器.有没有人知道如何调试这个,或者另一个更可靠的方法来检测鼠标何时通过顶部退出网页?我希望这是有道理的.
Mot*_*tie 13
如果您的窗口向下滚动,<br/>向您的页面添加一堆s并向下滚动一行就会出现问题,您将看到它.
因此,不要查看e.pageY <= 1,而是减去scrollTop:
if (e.pageY - $(window).scrollTop() <= 1)
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6650 次 |
| 最近记录: |