dat.gui如何用代码隐藏菜单

Gia*_*rlo 8 javascript dat.gui

我使用dat.gui创建了一个菜单,用于我的Three.js应用程序.它工作正常,我还发现按h键我可以隐藏用dat.gui创建的菜单.我的问题是如何让菜单直接从代码中显示/消失?

 var gui = new dat.GUI();
 gui.add(text, 'message');
 gui.add(text, 'speed', -5, 5);

 gui.???
Run Code Online (Sandbox Code Playgroud)

我试图使用DOMElement隐藏的属性,它可以工作,但我想要一种独特的方式来处理这个功能.有一个功能可以打电话吗?我注意到与击键相关的JavaScript事件通过库中的绑定与范围相关.但是这样做的正确方法是什么?

Qia*_*iau 10

我讨厌同样的问题并通过以下方式解决:

var gui = new dat.GUI();
dat.GUI.toggleHide();
Run Code Online (Sandbox Code Playgroud)

  • 还有`gui.close()` (7认同)

And*_*rle 0

Ok找到了解决方案,在dat.GUI的原型中添加以下函数:

  dat.GUI.prototype.removeFolder = function(name) {
    var folder = this.__folders[name];
    if (!folder) {
      return;
    }
    folder.close();
    this.__ul.removeChild(folder.domElement.parentNode);
    delete this.__folders[name];
    this.onResize();
  }
Run Code Online (Sandbox Code Playgroud)