Как я могу изменить свойство "visible" a-image с помощью скрипта js? - PullRequest
1 голос
/ 27 сентября 2019

Я пытаюсь изменить свойство "visible", когда моя переменная 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');
    }

  });
}
});

У меня до сих пор не было ошибок консоли, поэтому я действительно не знаю, что происходит?

1 Ответ

2 голосов
/ 27 сентября 2019

Вы пытаетесь изменить видимость элемента актива, а не <a-image>.

. Вы можете создать id эксклюзив для объекта <a-image> и предоставить его в querySelector.


Чтобы ответить на тему - вы можете переключить видимость с помощью setAttribute:

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

fiddle здесь .

...