0

我正在一个网站上工作,我需要一个自定义光标来代替我创建的默认光标,它正在检测鼠标移动,但是当我尝试将它放在超链接上时,什么也没有发生。这是我的代码

HTML

<div class='cursor'></div>
<div class='cursor'></div>
<h1>Custom cursor</h1>
<a href="#">A link </a>

CSS

* {
  cursor: none;
}
.cursor {
  position: absolute;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 99999;
}
.cursor:nth-child(1) {
  background-color: #3A1C71;
  z-index: 999999;
}
.cursor:nth-child(2) {
  background-color: #FFAF7B;
}

JS

$(document)
  .mousemove(function(e) {
    $('.cursor')
      .eq(0)
      .css({
        left: e.pageX,
        top: e.pageY
      });
    setTimeout(function() {
      $('.cursor')
        .eq(1)
        .css({
          left: e.pageX,
          top: e.pageY
        });
    }, 100);
  })

Codepen 演示

我会感谢你的帮助

谢谢 :)

4

1 回答 1

1

无需为自定义光标手动执行所有这些操作。如果您有可以用作光标的图像,则可以像这样引用它:

cursor: url('path-to-image.png'), auto; 

有关更多详细信息,您可以查看此处:MDN 参考


如果您想使用当前的解决方案:

超链接没有反应,因为两个光标 div 在它上面,因此阻止了链接本身。

可以为这些 div 禁用鼠标事件。然后这些事件将影响底层元素:

.cursor {
  pointer-events: none;
}
于 2018-03-02T03:07:22.023 回答