javascript - 禁用 dat.GUI 文件夹

标签 javascript three.js dat.gui

我的示例使用“DAT.GUI.min.js”。选择其他文件夹选项时,我需要禁用/启用文件夹选项。例如,选中“visibleImageX 文件夹”时,必须启用文件夹“fixImageX”,但未选中“visibleImageX 文件夹”时,必须禁用文件夹“fixImageX”。

我的例子是:

function initGUI() {

gui = new dat.GUI({
    height : 5 * 32 - 1
});

parameters = {
    x: 0, y: 0,
    visibleImageX: true,
    visibleImageY: true,
    reset: function() { resetSurvey() }
};

var showPlan = gui.addFolder('Show Plan');
showPlan.add( parameters, 'visibleImageX').name('x').listen().onChange( 
    function(value) {
        if (!value) { 
            parameters.x = 0;
            //disable the folder name: fixImageX
        } 
        else { //enable the folder name: fixImageX}
    });
showPlan.add( parameters, 'visibleImageY').name('y').listen().onChange( 
    function(value) { 
        if (!value) { 
            parameters.y = 0;
            //disable the folder name: fixImageY
        }
    });
showPlan.open();

var fixImage = gui.addFolder('Fix Image');
var fixImageX = fixImage.add( parameters, 'x' ).min(0).max(100).step(1)
.listen().onChange(function(value) {
    // Do somethings
});

var fixImageY = fixImage.add( parameters, 'y' ).min(0).max(100).step(1)
.listen().onChange(function(value) {
    // Do somethings
});
fixImage.open();
}

最佳答案

首先,您只有 2 个文件夹,名为 fixImageshowPlan。 然后使用 JQuery, 隐藏你可以做的文件夹

$(fixImage.domElement).attr("hidden", true);

并显示它

$(fixImage.domElement).attr("hidden", false); 

关于javascript - 禁用 dat.GUI 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27113445/

相关文章:

javascript - 是否可以使用正则表达式作为对象属性?

javascript - Angular2 导入语法 : "import * as <foo>" vs "import {<foo>}"

javascript - 如何从 ThreeJS 的场景中导出图像

javascript - 使用 dat.GUI 选择颜色设置三个 js 中的一个对象的颜色

three.js - 如何使用 dat.gui 控制 textGeometry 的大小和颜色?

javascript - jQuery AJAX jsonp 完成后返回响应

javascript - 根据一个属性过滤 JavaScript 对象

javascript - 如何获得围绕世界轴的旋转三个js

three.js - 从 Blender 加载 Three.js 中的多个对象

dat.gui - 使用 dat.gui slider 触发轨道控件