【问题标题】:Change color every second of a wix text box element每秒更改 wix 文本框元素的颜色
【发布时间】:2021-02-13 15:55:09
【问题描述】:

我尝试使用下面的代码每秒将文本颜色更改为随机颜色,但它不起作用,并且给出错误“tx.style 未定义”。相同的代码在原子文本编辑器中工作。为什么?

const tx = $w('#text16');

function getRandomColor() {
    var letters = '0123456789ABCDEF';
    var color = '#';
    for (var i = 0; i < 6; i++ ) {
        color += letters[Math.floor(Math.random() * 16)];
    }
    return color;
}

function changeColor(){
  tx.style.color= getRandomColor();
}

setInterval(changeColor,1000);

【问题讨论】:

    标签: javascript java velo


    【解决方案1】:

    在 Velo 中,文本元素没有 style 属性。当前更改文本颜色的唯一方法是使用 html 属性设置文本并添加内联样式。

    【讨论】:

      【解决方案2】:

      看起来你的错误在于你如何找到你的元素。
      你可以试试 console.log(tx) 看看你得到了什么。

      似乎有效:

      const box = document.getElementById("box")
      
      function getRandomColor() {
          var letters = '0123456789ABCDEF';
          var color = '#';
          for (var i = 0; i < 6; i++ ) {
              color += letters[Math.floor(Math.random() * 16)];
          }
          return color;
      }
      
      function changeColor(){
        box.style.color = getRandomColor();
      }
      
      setInterval(changeColor,1000);
      <div id="box">
      Hello World
      </div>

      【讨论】:

      • 元素正是问题所在。我需要知道如何在函数中引用文本框元素的文本颜色。
      • 问题指的是 Wix 的 Velo,您无法使用 getElementById 选择元素。
      猜你喜欢
      • 2019-03-10
      • 2022-11-10
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 2017-03-25
      • 1970-01-01
      • 2021-08-10
      • 2021-01-06
      相关资源
      最近更新 更多