【问题标题】:VantaJS background effect will not destroy. Why?VantaJS背景效果不会破坏。为什么?
【发布时间】:2023-01-08 05:47:59
【问题描述】:

描述

我的网页项目有一个 VantaJS 动态背景,我试图添加一个复选框选项来禁用动态背景。

官方 VantaJS 文档的“清理”部分解释了如何破坏 Vanta 效果: https://github.com/tengbao/vanta#cleanup

const effect = VANTA.WAVES('#my-background')
effect.destroy() // e.g. call this in React's componentWillUnmount

问题

这是我的示例代码,我在其中添加了一个 Bootstrap 复选框,在我的理解中,它应该在切换时破坏 Vanta 效果: https://jsfiddle.net/playdohsniffer/un6hx1q5/131/

为什么在切换复选框时 Vanta 效果没有被杀死?

看起来它应该可以使用 vanilla Javascript。是否需要使用 React 来调用所述 destroy() 函数?我根本不熟悉 React 框架......

更多细节

我知道有几种方法可以使用 vanilla JavaScript 从 DOM 中隐藏/删除特定元素。在我的示例代码中,我添加了两个额外的按钮来演示两种这样的方法:

  • 样式可见性属性
  • HTML DOM remove() 方法

然而,这些不同的方法并不可取,因为它们隐藏/删除了 div 中的全部内容。相反,我需要弄清楚如何销毁在 div 背景中呈现的 VantaJS 元素(无论如何清理消耗的资源是正确的方法..)

任何建议表示赞赏。

【问题讨论】:

    标签: javascript module three.js vantajs


    【解决方案1】:

    VantaJS lib 作者最终回应并更正了我对 .destroy() 方法的使用:https://github.com/tengbao/vanta/issues/125

    【讨论】:

      猜你喜欢
      • 2011-07-20
      • 2020-12-15
      • 1970-01-01
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 1970-01-01
      相关资源
      最近更新 更多