javascript - 仅在鼠标周围显示叠加对象,无论在屏幕的哪个位置

标签 javascript html css svg processing.js

我正在使用 svg 文件和一些 processing.js 代码来创建主页。 它有一些动画和静态元素,但想法是让一切都相同但颜色不同——就像一个替代主页。我希望这种替代方案能够在鼠标四处移动时“窥视”。只有鼠标周围的一小块区域。

有人知道怎么做吗? 因为它不是图像文件,所以有点棘手。

我尝试通过使用图像和 processing.js 的“绘图”元素来做到这一点,认为它可以绘制替代主页,但是它会在鼠标所到之处重复图像,而我想要的是将所有内容保留在相同的位置只显示该位置的不同颜色。

最佳答案

您可以考虑叠加网站的两个版本,“顶部”版本完全覆盖“底部”版本(确保所有背景都是不透明的)。然后,您可以尝试将 SVG 蒙版应用于首页,使其在特定区域透明并使底部页面发光。您可以随着鼠标的移动修改 mask 。

相反的方式 - 即剪裁顶层 - 也是可以考虑的。

我看到这种方法很慢并且跨浏览器不一致的风险 - 你必须试一试。速度可能会有所不同,具体取决于您是剪辑/ mask 顶层还是底层。

如果页面的一个版本可以通过换出颜色转换为其他版本,SVG filters也可能是一个选择。

关于javascript - 仅在鼠标周围显示叠加对象,无论在屏幕的哪个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37626763/

相关文章:

具有重置变量的 JavaScript 对象

javascript - 我们如何做到当用户单击弹出框以外的任何位置时,弹出框都会关闭。

css - 为什么我的带有 ASCII 艺术字的网格模板区域不起作用?

html - 无法对齐固定高度 div 中的文本

css - 较低的 css 特异性能否压倒较高的 css 特异性?

javascript - 无法理解二叉树 DFS 的递归部分

javascript - JStree 的 "initially_open"选项有问题

javascript - 如何使用jquery检测动态添加的点击元素?

javascript - 使用 HTML Canvas 贝塞尔曲线绘制美观(如果不准确)的飞行路径

javascript - 在 "Select"上更新在新选项卡中打开网址...仅一次