Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sketchfab API和Javascript交替函数,只有一个按钮_Javascript_Html_Api_Button - Fatal编程技术网

Sketchfab API和Javascript交替函数,只有一个按钮

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

我正在使用Sketchfab api,我想在两个函数之间切换。我试过这个,但只起过一次作用。多谢各位

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;
  };
})();