基于鼠标位置的滚动将点击事件保留在前台
Scrolling based on mouse position retaining click events in the foreground
所以我在一个较小的div中有一个非常宽的div。内部div 根据鼠标位置左右滚动。
我从这个答案中改编了代码...https://stackoverflow.com/a/6137535/3656408
所有东西的顶部有两个透明的div,从中获得鼠标的位置,从而提供滚动的速度。
这样做的问题是这些div 下面的任何东西都不可点击。
我的div具有固定的宽度和高度,因此我可能会从鼠标在页面上的位置计算滚动速度(即页面宽度为620px,因此我知道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;
}
}
});
相关文章:
- 分派点击事件并保留击键修饰符
- 将Backbone.View重新注入DOM,保留事件而不是创建新事件
- 将作用域绑定到事件处理程序,但保留原始参数
- 将参数传递给函数,同时保留事件处理程序
- 离子事件-支架处于保留/选项卡上父/子问题
- 将参数传递给 jQuery .click WHILE 保留事件参数
- 保留动态创建的下拉列表's在事件窗口.history.back()上选择的值-JavaScript
- 更改URL并保留“更改”事件下拉列表中的值
- 保留当前点击事件jquery
- 使用promise.then时,是否可以保留在单击事件调用堆栈中
- 基于鼠标位置的滚动将点击事件保留在前台
- 交换两个 html 元素并保留其上的事件侦听器
- hammer.js - 如何在不传播“点击”事件的情况下注册“保留”事件
- 如何保留此 jQuery 事件处理程序
- 如何禁用谷歌分析网页浏览量跟踪,但保留事件跟踪
- 保留未保存的表单:按钮提交事件将重置“Changed_Form”状态
- 如何在 Meteor 模板中保留“内容可编辑”的焦点() 事件
- 咖啡脚本 - 保留类上下文和事件上下文
- Colorbox关闭、重新打开并保留事件
- jQuery事件在关闭后仍保留在文档中