Javascript 我想重复代码,但不要';我不知道如何使用循环

Javascript 我想重复代码,但不要';我不知道如何使用循环,javascript,jquery,Javascript,Jquery,我有以下代码: js: 我想反复使用它,但把它放在一个while循环中只会使网站崩溃,有人能帮忙吗 这里是网站。。。这是我弟弟的网站不是我的 var colors=['4AC900'、'964514'、'EE0000'、'FFE3303'、'8E388E'、'FF00AA'], len=颜色。长度, 我 对于(i=0;i

我有以下代码:

js:

我想反复使用它,但把它放在一个while循环中只会使网站崩溃,有人能帮忙吗

这里是网站。。。这是我弟弟的网站不是我的

var colors=['4AC900'、'964514'、'EE0000'、'FFE3303'、'8E388E'、'FF00AA'],
len=颜色。长度,
我
对于(i=0;i

玩得开心。你应该学习不要弄乱设定间隔。有很多库可以为颜色和其他东西设置动画。我可以推荐。

您的循环正在崩溃,因为您无法在加载浏览器时设置所有必要的超时。这是一个应该可以工作的代码版本

var colors = ['#4AC900', '#964514', '#EE0000', '#FFE303', '#8E388E', '#FF00AA'];

var currentColorIndex = 0;
var scheduleChange;
scheduleChange = function() {
    change_color(currentColorIndex);
    currentColorIndex = (currentColorIndex + 1) % colors.length
    setTimeout(scheduleChange, 1000);
};

setTimeout(scheduleChange, 500);
这就是您所需要的:


(请注意,您需要使用jQuery UI来设置CSS
背景色
属性的动画)

请向我们显示您的while循环。您想做什么?你能解释一下这个代码的目的吗?什么是你不想做的?不停地改变网站的背景色loop@myxospsm当前位置我给了OP一个如何做到这一点的想法,我没有目标去做他们所有的工作它不是循环。。。它只是播放通过once@TechTbone:从你最初的问题看不清楚。你能不能把它改一下,让它看起来很明显?我希望背景颜色不断变化。。。这正是Roko C.的例子所做的,但他的例子并不适用于我site@Tech作者Tbone:嗯,你喜欢它,为什么不修改代码使其工作?如果您认为行数越少-维护越好-只需对其执行简单的修复,并保持愉快;-)<代码>c=++c%colors.length你为人而不是为解释器写代码。@zerkms你喜欢吗?(拜托,mudulus是任何JAVASCRIPT手册中除法之后的第一个捕获:)@zerkms Ok。我注意到你了!请你解释一下。我真的很感兴趣所以你真的不明白我为什么这么说?我知道我最不喜欢台词了
var colors = ['#4AC900', '#964514', '#EE0000', '#FFE303', '#8E388E', '#FF00AA'],
    len = colors.length,
    i;

for (i = 0; i < len; i++) {
    (function(i, color) {
        setTimeout(function () {
            change_color(color);
        }, (i + 1) * 500);
    })(i, colors[i]);
}
function change_color(color) {
  $("body").animate({ backgroundColor:color }, '1000');
}

setTimeout(function() {
  change_color('#4AC900')
}, 500);

colors = ['#964514', '#EE0000', '#FFE303', '#8E388E', '#FF00AA']

interval = setInterval(function() {
  if (! a.length) {
    return clearInterval(interval);
  }
  change_colors(a.shift());
}, 1500);
var colors = {'#4AC900': 500,
              '#964514': 1500,
              // etc. Just continue with the color-millisecond combinations
             }

for(key in colors) {
 setTimeout(function () {
    change_color(key);
 }, colors[key]);
}
var colors = ['#4AC900', '#964514', '#EE0000', '#FFE303', '#8E388E', '#FF00AA'];

var currentColorIndex = 0;
var scheduleChange;
scheduleChange = function() {
    change_color(currentColorIndex);
    currentColorIndex = (currentColorIndex + 1) % colors.length
    setTimeout(scheduleChange, 1000);
};

setTimeout(scheduleChange, 500);
var c = 0;
var colors = ['#4AC900','#964514','#EE0000','#FFE303','#8E388E','#FF00AA'];
(function loop(){         
    $('body').stop().animate({backgroundColor : colors[c++%colors.length] }, 1000, loop);  
})();