【发布时间】:2016-07-28 11:10:10
【问题描述】:
我创建了一个在鼠标移动时跟随鼠标 x 和 y 坐标的形状。你可以在这里查看结果:http://codepen.io/anon/pen/qNKgqo
这样可以正常工作,并且形状位于鼠标光标的中心。不幸的是,我有一些问题。
正如您在demo 中看到的那样,我有一个部分,位于屏幕顶部。在 HTML 标记的最顶部,您会注意到注释掉部分。如果您删除评论标记,则会设置一个新部分。当您将鼠标悬停在项目上时,结果与以前相同,但是当您滚动到下一部分时 - 带有三个拇指的部分,您会注意到形状没有以鼠标为中心,而是偏移了。只有当您将鼠标悬停在底部时,您才会看到一小块形状。
为了使圆以鼠标光标的中心为中心,我使用以下脚本:
var target = $(this);
var dot = target.find('.pointer');
var height = dot.height();
var width = dot.width();
var offset = target.offset();
var top = offset.top;
var left = offset.left;
var mX = (event.clientX - left) - width / 2;
var mY = (event.clientY - top) - height / 2;
以上代码来自 mouseMove 函数,将在鼠标移动时触发。
我的问题是我做错了什么或我的代码中缺少什么。当只有一个部分时,它应该可以正常工作,但是在将另一部分添加到 HTML 标记后,它就会变得混乱。
【问题讨论】:
标签: javascript jquery html css