繁体   English   中英

根据鼠标位置滚动,将点击事件保留在前台

[英]Scrolling based on mouse position retaining click events in the foreground

因此,我在较小的div中有一个非常宽的div。 内部div根据鼠标位置向左和向右滚动。

我从这个答案改编了代码... https://stackoverflow.com/a/6137535/3656408

在所有内容的顶部都有两个透明的div,可从中获得鼠标的位置,从而可以快速滚动。

问题是这些div下方的所有内容均不可点击。

我的div的宽度和高度是固定的,因此我可能可以从页面上的鼠标位置计算滚动速度(即,页面宽620像素,所以我知道310居中)

不幸的是,我的数学很糟糕,我无法弄清楚如何将我的思维过程转换为可接受的工作代码。

有人有什么建议吗?

这是目前它如何计算移动页面的速率...

$('.direction', backdrop).mousemove(function(e){
var $this = $(this);
var left = $this.is('.left');

if (left){
    var w = $this.width();
    rate = (w - e.pageX - $(this).offset().left + 1)/w;
}
else{
    var w = $this.width();
    rate = -(e.pageX - $(this).offset().left + 1)/w;
}
});

..您可以在此处查看它的运行情况http://thetally.efinancialnews.com/tallyassets/20years/index.html

好,我知道了...

$( document ).mousemove(function(e){   //if mouse moves on page

if (e.pageX <= 620 && e.pageY <= 600){  //and if its not outside the extents of the div

    if (e.pageX <= 310){ //if its less than half way across
        rate = (310 - e.pageX)/50;
    } else { // if its more than half way across
        rate = -( e.pageX - 310)/50; 
    }

}

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM