尝试设置窗体边框颜色的动画,但似乎没有运行。我希望加载页面后,边框颜色自动更改,而不需要任何用户交互。

window.onload(function colormagic() {
  //alert("OK1")
  var blueborder = document.getElementById("form1")
  var colorarray = new array()
  colorarray[0] =  "blue"
  colorarray[1] = "green"
  colorarray[2] = "yellow"
  colorarray[3] =  "blue"
  colorarray[4] =  "green"
  colorarray[5] = "yellow"
  //alert("OK2")
  for (i = 0; i < elements.length; i++) {
    blueborder.style.borderColor=colorarray[i];
    //alert("OK3")
  }
})

所以我尝试添加alert来调试它。我只得到第一个警告声明。

最佳答案

不确定你想用它来完成什么,它看起来并不友好,但也许这与you're looking for很接近。当然,您可以根据自己的喜好设置超时时间间隔。

var form = document.getElementById('form1');

function colormagic() {
    var colorarray = ['blue', 'green', 'yellow'];
    var len = colorarray.length;
    var index = (Math.floor(Math.random() * len) + 1) - 1;

    form.style.borderColor = colorarray[index];

    setTimeout(colormagic, 100);
}

window.onload = colormagic;

很少改进:
每次循环都没有必要查询DOM,因此第一行就从循环中取出
style.borderColor不是函数
您不需要创建一个new Array()的数组,也不需要在可以执行var arr = [colors, go, in, like, this];操作时指定单个索引

关于javascript - 更改表单边框颜色的Javascript不起作用吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21870544/

10-11 14:14