Sketchfab API和Javascript交替函数,只有一个按钮
我正在使用Sketchfab api,我想在两个函数之间切换。我试过这个,但只起过一次作用。多谢各位Sketchfab API和Javascript交替函数,只有一个按钮,javascript,html,api,button,Javascript,Html,Api,Button,我正在使用Sketchfab api,我想在两个函数之间切换。我试过这个,但只起过一次作用。多谢各位 hidebutton.onclick = function(){ exterior = new Boolean (true); console.log(exterior); if(exterior == true){ api.hide(nodeTop); exterior = !exterior; console.log(exterior); i
hidebutton.onclick = function(){
exterior = new Boolean (true);
console.log(exterior);
if(exterior == true){
api.hide(nodeTop);
exterior = !exterior;
console.log(exterior);
if(exterior == false){
hidebutton.onclick = function(){
api.show(nodeTop);
console.log('funcion else');
exterior = true;
console.log(exterior);
}
};
}
};
您应该使用纯布尔(
true
)而不是构造函数(new Boolean
)
您需要在函数外部声明布尔值,以便在单击之间保留其值:
let exterior = true;
hidebutton.onclick = function() {
if (exterior) api.hide(nodeTop);
else api.show(nodeTop);
exterior = !exterior;
};
更好的是,保持其自包含性,以便只有单击函数可以访问它(封装良好-避免污染外部作用域):
hidebutton.onclick = (() => {
let exterior = true;
return () => {
if (exterior) api.hide(nodeTop);
else api.show(nodeTop);
exterior = !exterior;
};
})();