【发布时间】:2011-10-08 00:23:45
【问题描述】:
我正在尝试将鼠标 Y 坐标保存到变量 startPosition 仅每 100 毫秒,而 .mousemove 处于活动状态,同时按住鼠标按钮 (mousedown),我的代码对我不起作用,我假设这是错误的?有人可以帮我解决这个问题吗?
$(document).mousemove( function (e) {
gesturesY = parseInt(e.pageY, 10);
startPosition = setInterval(gesturesY, 100);
});
编辑: 我认为这可能是一个全新的问题?很抱歉有任何混淆,下面是对我混乱的问题的澄清。 我们开始:
http://jsfiddle.net/nicktheandroid/PCgFK/1/
这个 JSfiddle 允许您抓取滚动框中的页面并向上或向下滚动,就像触摸屏手机一样。现在,如果你抓住页面(在滚动框区域)并向上移动鼠标(导致页面向下滚动),然后释放鼠标按钮,速度将启动并稍微跳转页面。当您实际抓取页面并向上或向下轻弹以滚动页面时,它就在那里,它可以使它缓慢而稳定地停止。如果这个人不轻弹,而是只是拖动页面,然后保持鼠标稳定并释放鼠标按钮,它就会跳转,就像我上面所说的那样。当人们抓住并拖动页面时,我试图摆脱这种跳跃,然后在鼠标静止时释放鼠标按钮。
我认为通过每 100 毫秒左右更新一次 startPosition,它可以消除这种跳跃,但仍然可以保持速度减慢,以免向上或向下滑动页面。我已经很接近完成了,但仍然存在我刚才所说的问题。其他人帮助我添加了速度,在脚本中有一个名为 velocityCheckWait 的变量,我认为它的作用与我想要的相反。
如有任何困惑,我们深表歉意,并感谢任何愿意花时间帮助我的人。
【问题讨论】:
-
你的代码在很多层面都是错误的。请更详细地解释您要做什么。例如,您的代码尝试在
mousemove事件之后开始跟踪鼠标——为什么?你的描述没有提到。 -
这不是你使用
setInterval的方式。你绝对没有理由在那里使用parseInt。您可能应该阅读更多关于一些基本 JavaScript 的内容。看看这个网站developer.mozilla.org/en/JavaScript
标签: jquery mouse coordinates