使用JavaScript推动屏幕的一侧滚动

时间:2014-04-06 02:25:55

标签: javascript

Windows 8具有这个简洁的功能,您可以通过“推动”屏幕的一侧滚动浏览应用程序。

我想知道是否有人有任何想法在JavaScript中完成此任务。

基本上,如果您将鼠标悬停在屏幕一侧,屏幕不会滚动,但应该能够检测到用户何时尝试超出视口但不能。

这样的事情可能吗?

2 个答案:

答案 0 :(得分:0)

当然,如果你想复制它,你只需要找出它们的算法。

例如,您可以跟踪指针的最后几个已知位置以确定速度和方向,并在方向改变时立即停止滚动。

答案 1 :(得分:0)

我正在使用以下内容:

    $(window).mousemove(function (e) {
        if (getIsPageEdge()) {
            if (lastX == e.pageX) {
                console.debug('pushing the page');
            }
            var now = new Date().getTime();
            if (lastUpdate == null || now - lastUpdate > 500) {
                lastUpdate = now;
                lastX = e.pageX;
            }
        }
    });

基本上,onmousemove,如果光标位于视口的边缘,并且X值没有改变(添加了时间延迟以补偿事件处理延迟),则更改包含div的滚动位置。