简单的循环 JQuery
Simple Loop JQuery
我知道这已经被问了好几次了,但我就是不明白。所以情况是这样的:
$ = jQuery;
var loop = function() {
$('#content').delay(800).css('background-color', "#B24296");
$('#content').delay(1600).css('background-color', "#AEB404");
$('#content').delay(2400).css('background-color', "#04B404");
loop();
}
$(document).ready(function() {
loop();
此设置给了我一个"未捕获的范围错误:超出最大调用堆栈大小"我也试过这个:
var loop = function() {
$('#content').delay(800).css('background-color', "#B24296", function() {
$('#content').delay(1600).css('background-color', "#AEB404", function() {
$('#content').delay(2400).css('background-color', "#04B404");
});
});
}
$(document).ready(function() {
setInterval(loop,3200);
使用此代码,仅发生第一次颜色更改,但其余部分不会发生。所以不幸的是,这些都不能简单地不时更改背景颜色......有谁知道解决方案或可以解释为什么这些不起作用?
编辑:设法让它像这样工作:
function color(t) {
$("div").delay(t*1).queue(function(n) {
$('#green').css('background-color', "#B24296");
n();
});
$("div").delay(t*2).queue(function(n) {
$('#green').css('background-color', "#AEB404"); n();
});
$("div").delay(t*3).queue(function(n) {
$('#green').css('background-color', "#04B404");
n();
});
setTimeout(function() {
color(500);
}, 500);
}
color(500);
在第一次尝试中,函数 loop() 无限次调用自身,导致您报告的错误。
至于为什么 css/delay 组合不起作用,根据这个答案:将 jQuery delay() 与 css() delay() 一起使用适用于动画 fx 队列,对 css() 调用没有影响。
同样,根据将jQuery delay()与css()一起使用中的解决方案,以下是您的用例(http://jsfiddle.net/mmSVF/3/)的工作代码:
var loop = function() {
$('#content').delay(800).queue(function(next){
$(this).css('background-color', "#B24296");
next();
}).delay(1600).queue(function(next){
$(this).css('background-color', "#AEB404");
next();
}).delay(2400).queue(function(next){
$(this).css('background-color', "#04B404");
setTimeout(loop, 500);
next();
});
}
$(function(){
loop();
});
相关文章:
- jQuery:循环一个具有不同超时值的循环
- jQuery循环在特定位置暂停
- 循环中的jQuery循环
- 使用val()在jquery循环中设置html字符串的val
- $.每个jquery循环打印一个“;未定义的“;对于getJSON请求后的每个元素,网格数据都会完美地打印出来
- jQuery循环寻呼机附加较小的图像大小
- 如何优化这个jquery循环的执行时间
- Jquery循环停止按钮
- 如何使用jQuery循环变量名
- Jquery循环洗涤器插件:添加到图像的链接
- 遍历 jQuery:循环遍历子项
- Javascript / JQuery循环访问已发布的ajax数据字符串以为其分配新值
- Jquery 循环一次或在数据数组中显示一次数据
- Jquery 循环与名称 increament.
- jQuery 循环 JSON 结果,对象作为值
- 正在尝试将jquery鼠标滚轮插件插入到jquery循环2中
- jQuery循环遍历每个li并检查一个类
- 使用jQuery循环遍历颜色数组
- 使用jquery循环表行并通过类名访问数据
- 对未知数量的元素执行Jquery循环