Javascript onscroll和鼠标位置

时间:2010-04-10 09:07:03

标签: javascript cursor-position onscroll

我有一个脚本,它为onmousemove运行addEventListener,并在文档正文上滚动以获取光标位置。 onmousemove事件工作正常(客户端+滚动),但是当onscroll事件发生时,clientX / Y似乎继承了scrollTop / Left值(仅滚动)。有办法解决这个问题吗?

clickDocument = (document.documentElement != undefined && document.documentElement.clientHeight != 0) ? document.documentElement : document.body;

var posx = 0;
var posy = 0;
if (e.pageX || e.pageY)     {
    posx = e.pageX;
    posy = e.pageY;
}
else if (e.clientX || e.clientY)    {
    posx = e.clientX;
    posy = e.clientY;
}

var scrollx = window.pageXOffset == undefined ? clickDocument.scrollLeft : window.pageXOffset;
var scrolly = window.pageYOffset == undefined ? clickDocument.scrollTop : window.pageYOffset;

1 个答案:

答案 0 :(得分:0)

根据IE浏览器版本和doctype,有时需要clickDocument.body.scrollTop 甚至是clickDocument.documentElement.scrollTop

(资料来源:http://javascript.about.com/library/blmousepos.htm