JavaScript-使窗口滚动条跟随鼠标

JavaScript-使窗口滚动条跟随鼠标,javascript,html,scroll,mouse,coordinates,Javascript,Html,Scroll,Mouse,Coordinates,如何使windows滚动条的Y坐标与鼠标的Y坐标相同 我可以让滚动条跟随鼠标吗?这里有一个无jQuery的解决方案: var height = document.documentElement.scrollHeight; function scroll(event){ var y = event.clientY; var yPercentage = y/screen.height; window.scrollTo(0,yPercentage*height); } wi

如何使windows滚动条的Y坐标与鼠标的Y坐标相同
我可以让滚动条跟随鼠标吗?

这里有一个无jQuery的解决方案:

var height = document.documentElement.scrollHeight;

function scroll(event){
    var y = event.clientY;
    var yPercentage = y/screen.height;
    window.scrollTo(0,yPercentage*height);
}

window.onmousemove = scroll;
在行动中:

在真实页面上,如果鼠标位于屏幕底部,页面将完全滚动到底部。由于某些原因,在JSFIDLE中,它并不完全成功


它所做的是找到鼠标在屏幕上的距离,并将文档向下滚动相同的百分比。

共享我的修改版本Nile的回复,以获得同时滚动X和Y的版本

var height = document.documentElement.scrollHeight;
var width = document.documentElement.scrollWidth;

function scroll(event) {
    var y = event.clientY;
    var x = event.clientX;
    var yPercentage = y / screen.height;
    var xPercentage = x / screen.width;
    window.scrollTo(xPercentage * width, yPercentage * height);
}

window.onmousemove = scroll;
要仅滚动宽度,而不滚动高度(如Murplyx一年前要求的),请使用以下命令:

var width = document.documentElement.scrollWidth;

function scroll(event) {
    var x = event.clientX;
    var xPercentage = x / screen.width;
    window.scrollTo(xPercentage * width, 0);
}

window.onmousemove = scroll;

谢谢你的开始

利用DOM-L3进行此操作的最有效的计算方式:

//HTML BLOCK
<canvas onmousemove="TrackMouse(event)"></canvas>

//JS BLOCK
function TrackMouse(e){
        window.scrollBy(e.webkitMovementX, e.webkitMovementY);
}
//HTML块
//JS块
功能跟踪鼠标(e){
scrollBy(e.webkitMovementX,e.webkitMovementY);
}

鼠标位于页面底部是否意味着滚动条应该一直向下?如果滚动条的y坐标与鼠标的y坐标相同,则不一定会发生这种情况。好的,但不是真正的“相同”,重要的是窗口的滚动条应该自动跟随鼠标(使用JavaScript)是的,但我希望滚动条中间跟随鼠标,而不是顶部。。。怎样?