javascript - 让链接跟随剪辑路径
问题描述
我试图弄清楚如何仅在现有剪辑路径的区域内显示可点击的链接。并且还利用现有的 OffsetX 值。
<style>
.mouse {
background-color: aqua;
}
.img {
background-color: black;
}
</style>
<div class="wrap">
<div class="img"></div>
<div class="mouse">
<p id="anchor"></p>
</div>
</div>
<script>
let main = document.querySelector('.wrap');
let mouse = document.querySelector('.mouse');
let text = "Text link";
let result = text.link("www.stackoverflow.com");
document.getElementById("anchor").innerHTML = result;
main.addEventListener('mousemove', (e) => {
mouse.style.clipPath = `circle(15em at ${e.offsetX}px`;
});
</script>
解决方案
如果我理解正确,您希望链接与剪辑路径一起移动。
我会这样做:
mouse.style.clipPath = `circle(5em at ${(e.clientX - main.getBoundingClientRect().x)}px`;
document.getElementById("anchor").style = "margin-left: " + (e.clientX - main.getBoundingClientRect().x) + "px";
这不使用 offsetX,但是当您移动链接时,offsetX 也会移动(因此它会保持不变),除非您禁用链接的指针事件(这可能不是有意的)。
推荐阅读
- css - 导航链接被隐藏 - 反应
- r - 使用样本进行逐行变异的有效方法
- matplotlib - 如何在轴的末尾显示最小值和最大值
- gpu - write_image 是原子的吗?使用 atomic_max 更好吗?
- python-3.x - 当 html 元素没有明确的 id 时,使用 selenium 和 pandas 读取和写入文本值
- interpreter - 关于在解释器中实现函数调用的问题
- swift - SwiftUI Zstack – 使元素忽略安全区域而另一个不忽略
- algorithm - while循环的时间复杂度分析
- flutter - Flutter/Dart - 照片已更改但 URL 未更改,因此提供者的消费者未刷新
- java - 从链表中删除对象的方法