首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Aframe:更改att以更新

Aframe:更改att以更新
EN

Stack Overflow用户
提问于 2017-08-03 09:03:24
回答 1查看 39关注 0票数 0

我写了一个组件。一开始,两个物体(抽屉和注入餐具)的运动是同步的。点击后应按下灌装餐具,抽屉的运动应独立。注射器不再动了。现在代码的结果是:在单击Infusion刀之后,条件为"if(data.moveWithInfusion===true)“的代码仍然运行。"if(data.moveWithInfusion===false)“下的代码也会运行。我找不到原因。有人知道原因吗?谢谢!https://glitch.com/edit/#!/skill-lab

代码语言:javascript
运行
复制
AFRAME.registerComponent('drawerwithinfusioncutlery',{

  schema: {
    open : {default: '1.8 0 0.1'},
    close : {default: '0 0 0.1'},
    dur : {default: 300},
    moveWithInfusion :{default: true},
  },

  update: function (){
    var data= this.data;
    var el=this.el;
    var closed=true;
    var infusion=document.querySelector("#infusioninpack");

    el.addEventListener("click",function(){
      if(data.moveWithInfusion===true){
        alert("true");
        if(closed === true){
          open(el, data.close, data.open, data.dur);
          open(infusion, '1.24 4.439 1.555', '3.04 4.439 1.555', data.dur);
          closed=false;
        }else if(closed===false){
          open(el, data.open, data.close, data.dur);
          open(infusion, '3.04 4.439 1.555', '1.24 4.439 1.555', data.dur);
          closed=true;
        }   
      }else if(data.moveWithInfusion===false){
        alert("false");
        if(closed === true){
          open(el, data.close, data.open, data.dur);
          closed=false;
        }else if(closed===false){
          open(el, data.open, data.close, data.dur);
          closed=true;
        }   
      }  
    });

    infusion.addEventListener("click",function(){
      el.setAttribute('drawerwithinfusioncutlery', {moveWithInfusion: 'false'})
    });

  }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-03 11:23:40

首先,事件侦听器应该在init函数中,以防止重复它们。

因此,我抛出了init函数的“单击”侦听器。我在init中添加了“关闭”变量,就像在侦听器的labda函数中使用的那样,现在它似乎正常工作了:

https://glitch.com/edit/#!/gigantic-toucan?path=public/js/drawerwithinfusioncutlery.js:26:25

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45479605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档