滚动页面后自定义光标位置错误
Custom cursor wrong position after scrolling the page
我正在尝试获得带有以下外环的精美圆形光标之一,例如,当您将鼠标悬停在图像上时,它会发生变化。
我发现大部分代码已经构建在 codepen 上,但是当我应用到更长的页面时,光标似乎偏离了太多像素以至于看不到。它工作正常,直到你开始滚动,随着滚动增加,偏移量也会增加,如果你滚动它几乎没用,你看不到光标。
这是一个修改后的codepen:https://codepen.io/miguelpppires/pen/xxKLreP
我几乎 100% 确定这是问题所在,但我不知道如何解决它:
$(document).on('mousemove', function(e) {
$('.cursor, .follower').css({
"transform": "translate3d(" + (e.pageX) + "px, " + (e.pageY) + "px, 0px)"
});
感谢任何帮助,
谢谢
您需要使用 clientX
和 clientY
,因为 pageX
和 pageY
从页面顶部开始偏移,clientX
和 clientY
从视口顶部开始偏移。
$('.cursor, .follower').css({
"transform": "translate3d(" + (e.clientX) + "px, " + (e.clientY) + "px, 0px)"
});
我已经解决了使用 pageX 和 pageY 代替 clientX 和 clientY 的问题。
我正在尝试获得带有以下外环的精美圆形光标之一,例如,当您将鼠标悬停在图像上时,它会发生变化。
我发现大部分代码已经构建在 codepen 上,但是当我应用到更长的页面时,光标似乎偏离了太多像素以至于看不到。它工作正常,直到你开始滚动,随着滚动增加,偏移量也会增加,如果你滚动它几乎没用,你看不到光标。
这是一个修改后的codepen:https://codepen.io/miguelpppires/pen/xxKLreP
我几乎 100% 确定这是问题所在,但我不知道如何解决它:
$(document).on('mousemove', function(e) {
$('.cursor, .follower').css({
"transform": "translate3d(" + (e.pageX) + "px, " + (e.pageY) + "px, 0px)"
});
感谢任何帮助, 谢谢
您需要使用 clientX
和 clientY
,因为 pageX
和 pageY
从页面顶部开始偏移,clientX
和 clientY
从视口顶部开始偏移。
$('.cursor, .follower').css({
"transform": "translate3d(" + (e.clientX) + "px, " + (e.clientY) + "px, 0px)"
});
我已经解决了使用 pageX 和 pageY 代替 clientX 和 clientY 的问题。