【问题标题】:How can i change the property "visible" of a a-image with a js script?如何使用 js 脚本更改图像的“可见”属性?
【发布时间】:2019-09-27 16:22:26
【问题描述】:

当我的 var n 等于 1 时,我正在尝试更改属性“可见”。我的代码中的某些内容不正常,但我不知道我做错了什么

<a-assets>
        <img id="txt-image" src="/img/txt.png">
        <img id="btn-image" src="/img/btn.png">
</a-assets>
<a-image src="#btn-image" position="0.35666 1.90018 -1.26009" geometry="" scale="0.361 0.09143 0.14667" rotation="10.87 0 0" class="clickable" cursor-listener></a-image>

<a-image src="#txt-image" position="0.1901 1.80662 -1.24519" geometry="" scale="0.85378 0.04647 0.34688" rotation="10.87 0 0" material="" visible="false" cursor-listener></a-image>
var n = 0;

AFRAME.registerComponent('cursor-listener', {
init: function () {
  let text = document.querySelector("#txt-image");
  this.el.addEventListener('click', function (evt) {
    n += 1;
    console.log(n);

    if(n == 1){ 
        text.setAttribute("visible", true);
    }
    if(n == 2){
        window.open('portfolio.html', '_blank');
    }

  });
}
});

直到现在我还没有遇到控制台错误,所以我真的不知道发生了什么?

【问题讨论】:

    标签: javascript three.js aframe


    【解决方案1】:

    您正在尝试更改资产项的可见性,而不是 &lt;a-image&gt;

    您可以为&lt;a-image&gt; 实体创建一个专用的id,并将其提供给querySelector。


    要回答主题 - 您可以使用 setAttribute 切换可见性:

    var isVisible = true // or false
    element.setAttribute("visible", isVisible);
    

    小提琴here.

    【讨论】:

    • 非常感谢亚当!对于常见的错误,我们深表歉意。我是一个新手 a-frame 开发人员:)
    • 很高兴我能帮上忙,玩得开心!
    猜你喜欢
    • 2016-07-04
    • 2014-08-15
    • 2010-09-24
    • 2018-09-03
    • 1970-01-01
    • 2015-01-02
    • 2013-03-10
    • 2011-12-27
    • 2014-07-04
    相关资源
    最近更新 更多