我迟到了 8 年,但我有一个解决方案:
• 首先从互联网上下载一个光标图像或复制我的 svg 代码:
<svg id="cursor" width="20" height="20" viewBox="0 0 95 92" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M84.6925 46.0105L40.25 20.3516C35.25 17.4648 29 21.0733 29 26.8468L29 78.1645C29 84.9879 37.3721 88.2664 42.0056 83.2575L58.1424 65.8134C58.4853 65.4427 58.9324 65.1846 59.4249 65.0729L82.6003 59.8201C89.255 58.3118 90.6017 49.4222 84.6925 46.0105Z" fill="black" stroke="white" stroke-width="5"/></svg>
并将其添加到您的 html 文件中。
•当然,如果你想用jQuery制作,你需要在你的js文件上面添加这个脚本:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
•然后添加这个(在你的JavaScript文件中):
let timedelay = 1;
function delayCheck() {
if (timedelay == 2) { //Here you can change this value which changes the time it takes the mouse to hide
$('#cursor').fadeOut();
timedelay = 1;
}
timedelay += 1;
}
$(document).mousemove(function() {
$('#cursor').fadeIn();
timedelay = 1;
clearInterval(_delay);
_delay = setInterval(delayCheck, 1000);
});
_delay = setInterval(delayCheck, 1000);
现在您将在屏幕左上角看到一个光标,它可以执行您所要求的操作,但它不是您的光标,要使用 svg 替换光标,请执行以下操作:
//in the same js file as before
$(document).mousemove(function (e) {
$('#cursor').offset({
left: e.clientX,
top: e.clientY
});
});
/* on the css */
html {
cursor: none;
}
如果它不起作用,请确保将 jquery 文件放在您编写的文件之上。我希望我帮助了某人!您可能想检查这是否真的有效,这里是演示。(对不起,如果我的英语不好,我是意大利人)。
(提示)你会注意到有两个相同的函数,如果你想合并它们,只需将它们替换为:
$(document).mousemove(function(e) {
$('#cursor').fadeIn();
timedelay = 1;
clearInterval(_delay);
_delay = setInterval(delayCheck, 1000);
$('#cursor').offset({
left: e.clientX,
top: e.clientY
});
});