Javascript jquery每60秒执行一次不同的操作
我想每60秒执行一个不同的动作,通过动画改变我的背景。 现在点击运行Javascript jquery每60秒执行一次不同的操作,javascript,jquery,jquery-animate,Javascript,Jquery,Jquery Animate,我想每60秒执行一个不同的动作,通过动画改变我的背景。 现在点击运行 $(document).ready(function(){ $("li.one").click( function(){ $('#switch-container').animate({backgroundColor: '#18597f'}, 1000) }); $("li.two").click( function(){ $('#switch-container').animate({backgro
$(document).ready(function(){
$("li.one").click( function(){
$('#switch-container').animate({backgroundColor: '#18597f'}, 1000)
});
$("li.two").click( function(){
$('#switch-container').animate({backgroundColor: '#8a0651'}, 1000)
});
$("li.three").click( function(){
$('#switch-container').animate({backgroundColor: '#8a0651'}, 1000)
});
我怎么能这样做?谢谢 使用setInterval()
setInterval()
方法以指定的间隔(毫秒)调用函数或计算表达式
setInterval(function(){
//code for animation
},DURATION);
使用setInterval()
setInterval()
方法以指定的间隔(毫秒)调用函数或计算表达式
setInterval(function(){
//code for animation
},DURATION);
我曾经使用过这个模板:
它有一个动画背景。检查html文件中的html、slider.js文件中的可变时间以及slides文件夹中的后端jquery代码我曾经使用过这个模板:
$(document).ready(function () {
// alert("hello");
changecolor();
});
function changecolor() {
// alert("hi");
var colors = ["#00FF00", "#CCCCCC", "#990099", "#FEA400", "#FF9900", "#6600FF", "#333333", ];
var rand = Math.floor(Math.random() * colors.length);
$('#controls-wrapper').css("background-color", colors[rand]);
setTimeout('changecolor()', 100);
}
它有一个动画背景。检查html文件中的html,slider.js文件中的可变时间,以及slides文件夹中的后端jquery代码
$(document).ready(function () {
// alert("hello");
changecolor();
});
function changecolor() {
// alert("hi");
var colors = ["#00FF00", "#CCCCCC", "#990099", "#FEA400", "#FF9900", "#6600FF", "#333333", ];
var rand = Math.floor(Math.random() * colors.length);
$('#controls-wrapper').css("background-color", colors[rand]);
setTimeout('changecolor()', 100);
}
如果您不关心计时器中的代码是否比您的时间间隔长,请使用setInterval():
它反复激发作为第一个参数传入的函数
更好的方法是将setTimeout与自动执行的匿名函数一起使用:
(function(){
// do some stuff
setTimeout(arguments.callee, 60000);
})();
这保证了在执行代码之前不会进行下一次调用。在本例中,我使用arguments.callee作为函数引用。给函数一个名称并在setTimeout内调用是一种更好的方法,因为在ecmascript 5中arguments.callee已被弃用
var colors = ['#18597f','#8a0651','#8a0651'],
timer = setInterval(function() {
var rand = parseInt(Math.random()*(3 - 0),10);
$('#switch-container').animate({backgroundColor: colors[rand]}, 1000);
}, 1000);
如果您不关心计时器中的代码是否比您的时间间隔长,请使用setInterval():
它反复激发作为第一个参数传入的函数
更好的方法是将setTimeout与自动执行的匿名函数一起使用:
(function(){
// do some stuff
setTimeout(arguments.callee, 60000);
})();
这保证了在执行代码之前不会进行下一次调用。在本例中,我使用arguments.callee作为函数引用。给函数一个名称并在setTimeout内调用是一种更好的方法,因为在ecmascript 5中arguments.callee已被弃用
var colors = ['#18597f','#8a0651','#8a0651'],
timer = setInterval(function() {
var rand = parseInt(Math.random()*(3 - 0),10);
$('#switch-container').animate({backgroundColor: colors[rand]}, 1000);
}, 1000);
编辑:
要按常规顺序而不是随机更改颜色,请执行以下操作:
var colors = ['green','red','yellow'],
i = 0,
timer = setInterval(function() {
$('#switch-container').animate({backgroundColor: colors[i++]}, 500);
i = i==3 ? 0 : i;
}, 1000);
编辑:
要按常规顺序而不是随机更改颜色,请执行以下操作:
var colors = ['green','red','yellow'],
i = 0,
timer = setInterval(function() {
$('#switch-container').animate({backgroundColor: colors[i++]}, 500);
i = i==3 ? 0 : i;
}, 1000);
@Manoz是的,我从那里添加了,只是为了让OP明白这个函数的作用……对不起,如果解释OP是我的错,那么对不起……@Manoz是的,我从那里添加了,只是为了让OP明白这个函数的作用……对不起,如果解释OP是我的错,那么对不起……如果我不想要随机颜色,但想要1,2,3,1,2,3我该怎么办?Thanks@PaoloRossi-也在答案中添加了这一点!如果我不想要任何随机颜色,但想要1,2,3,1,2,3,我该怎么办?Thanks@PaoloRossi-也在答案中添加了这一点!