窗口顶部鼠标悬停的Javascript?

时间:2015-08-26 20:25:55

标签: javascript onmouseover

我正在寻找一个onmouseover事件来检测鼠标悬停在窗口顶部的时间。我只能找到整个页面的onmouseover事件。如何限制在窗口的最顶端?

我试图将事件附加到页面上没有“元素”,正如一些人所建议的那样。

这适用于任何网页 - 我对页面上的HTML没有任何控制权。 (抱歉不包括原帖!)

只需支持现代浏览器,最简单的方法,没有jquery。

THX!

(也在daniweb和codingforums.com上询问)

2 个答案:

答案 0 :(得分:3)

可以将onmouseover添加到任何HTML元素,即任何divpimgul,任何内容。你有一个元素覆盖你感兴趣的页面部分吗?然后只需将事件添加到该元素。

如果要捕捉鼠标移动的区域与实际元素不对应,可以通过将eventlistener添加到body并检查指针所在的位置来实现:

document.body.addEventListener("mousemove", function(event) {
    //Check if we are in the top area of the page.
    if(event.pageY < 300) {
        //Do something here.
    }

});

如果您希望它使用浏览器页面区域的顶部而不是页面本身(因此滚动不会影响屏幕上的截止位置),只需使用clientY代替{ {1}}。

答案 1 :(得分:1)

当鼠标位于页面顶部时发出警报:jsfiddle:DEMO

上的演示

JS:

(function (){//alert at top
    function getPosition(e){
        if (e.pageY < 75) alert('top');//switch to clientY for top of screen
    }
    document.addEventListener('mousemove', getPosition, false);})();

编辑:
使用:clientY作为顶部视图屏幕,因为页面可能更长,这与屏幕一致 使用:pageY仅适用于您网站的顶部