Javascript/JQuery连续循环主体背景色

Javascript/JQuery连续循环主体背景色,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我在尝试让JQuery和Javascript在for循环中循环一组颜色时遇到了很多麻烦,将主体的背景色设置为每个颜色,然后重新启动该过程。我不知道这是否是最好的方法,但我想背景颜色切换非常快。这就是我目前所拥有的。我试图通过按钮上的JQuery事件触发它 $("#button6").click(function() { $('#disclaimer').hide(); $('#button6').hide(); var colors = Array("red", "gre

我在尝试让JQuery和Javascript在for循环中循环一组颜色时遇到了很多麻烦,将主体的背景色设置为每个颜色,然后重新启动该过程。我不知道这是否是最好的方法,但我想背景颜色切换非常快。这就是我目前所拥有的。我试图通过按钮上的JQuery事件触发它

$("#button6").click(function() {
    $('#disclaimer').hide();
    $('#button6').hide();
    var colors = Array("red", "green", "blue", "purple" "yellow", "orange);

    var count = 0;
    while ( count < 1000 ) {
    for(var i = 0; i < colors.length; i++) {
        $('body').css("background-color", colors[i]);
        $('body').delay(50);
    }
    count++;
    }
});
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
$(“#按钮6”)。单击(函数(){
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
$(“#免责声明”).hide(); $('#按钮6')。隐藏(); 变量颜色=数组(“红色”、“绿色”、“蓝色”、“紫色”、“黄色”、“橙色”); var计数=0; 同时(计数<1000){ 对于(变量i=0;i
.delay()
适用于动画,它不会延迟任何东西。我认为
setTimeout
在这里更适合您:

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
.delay()
适用于动画,它不会延迟任何东西。我认为
setTimeout
在这里更适合您:

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>

为什么不使用svg+css呢

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
这是我的密码:

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
@关键帧填充{
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
0% { 填充物:红色; } 20% { 填充:绿色; } 40% { 填充:蓝色; } 60% { 填充:紫色; } 80% { 填充物:黄色; } 100% { 填充物:橙色; } } #填满{ 填充:黑色; 动画名称:填充; 动画持续时间:50ms; 动画迭代次数:无限; } ]]>
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
您可以将其复制到名为something.svg的文件中,并将其用作带有css的图像

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>

@编辑:代码在stackoverflow上以某种方式崩溃,但是您可以在这里下载我的示例:

为什么不使用svg+css

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
这是我的密码:

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
@关键帧填充{
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
0% { 填充物:红色; } 20% { 填充:绿色; } 40% { 填充:蓝色; } 60% { 填充:紫色; } 80% { 填充物:黄色; } 100% { 填充物:橙色; } } #填满{ 填充:黑色; 动画名称:填充; 动画持续时间:50ms; 动画迭代次数:无限; } ]]>
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
您可以将其复制到名为something.svg的文件中,并将其用作带有css的图像

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>

@编辑:代码在stackoverflow上以某种方式崩溃,但您可以在此处下载我的示例:

查看下面的代码片段。

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
 var c = ["#81d8d0", "#ffea64", "#89bc84", "#e5cb47", "#9d549c"];
 var i = 0;
 var myVar = setInterval(function () { myTimer() }, 1500);

 function myTimer() {
    document.getElementsByTagName('body')[0].style.background = c[i];
    i = i + 1;
    if (i >= c.length) i = 0;
 }

看看下面的代码片段。

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>
 var c = ["#81d8d0", "#ffea64", "#89bc84", "#e5cb47", "#9d549c"];
 var i = 0;
 var myVar = setInterval(function () { myTimer() }, 1500);

 function myTimer() {
    document.getElementsByTagName('body')[0].style.background = c[i];
    i = i + 1;
    if (i >= c.length) i = 0;
 }

      @keyframes fill {
          0% {
              fill: red;
          }
          20% {
              fill: green;
          }
          40% {
              fill: blue;
          }
          60% {
              fill: purple;
          }
          80% {
              fill: yellow;
          }
          100% {
              fill: orange;
          }
      }

      #fill {
          fill: black;
          animation-name: fill;
          animation-duration: 50ms;
          animation-iteration-count: infinite;
      }
    ]]>
</style>
<rect id="fill" x="0" y="0" width="60" height="60"/>