获取滚动条上的鼠标位置 [英] Get mouse position on scroll

查看:113
本文介绍了获取滚动条上的鼠标位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我向下滚动或向上滚动时如何获取鼠标位置

how can i get the mouse position when i scroll down or scroll up

我尝试过

$(document).mousemove(function(event) {
    captureMousePosition(event);
}).scroll(function(event) {
    xMousePos = event.pageX + $(document).scrollLeft();
    yMousePos = event.pageY + $(document).scrollTop();
    window.status = "x = " + xMousePos + " y = " + yMousePos;
});

function captureMousePosition(event){
    xMousePos = event.pageX;
    yMousePos = event.pageY;
    window.status = "x = " + xMousePos + " y = " + yMousePos;
}

但是没有用,我想要鼠标相对于页面顶部的确切位置而不是相对于窗口(框架)

but didnt worked i want the exact position of mouse relative to the top of page not in respect to window(frame)

推荐答案

我们无法获得滚动时的鼠标当前位置,而只能获得相对于上一个位置的滚动量 因此将其更改为:

we cannot get mouse current position on scroll we can just get how much it scrolled relative to last position so changed it to :

var xMousePos = 0;
var yMousePos = 0;
var lastScrolledLeft = 0;
var lastScrolledTop = 0;

$(document).mousemove(function(event) {
    captureMousePosition(event);
})  

    $(window).scroll(function(event) {
        if(lastScrolledLeft != $(document).scrollLeft()){
            xMousePos -= lastScrolledLeft;
            lastScrolledLeft = $(document).scrollLeft();
            xMousePos += lastScrolledLeft;
        }
        if(lastScrolledTop != $(document).scrollTop()){
            yMousePos -= lastScrolledTop;
            lastScrolledTop = $(document).scrollTop();
            yMousePos += lastScrolledTop;
        }
        window.status = "x = " + xMousePos + " y = " + yMousePos;
    });
function captureMousePosition(event){
    xMousePos = event.pageX;
    yMousePos = event.pageY;
    window.status = "x = " + xMousePos + " y = " + yMousePos;
}

它可以正常工作,并且可以在多种浏览器上工作....

it worked and is working on multi browsers....

无论如何,谢谢大家:)

anyways thanks all :)

这篇关于获取滚动条上的鼠标位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆