Javascript 将重复的jquery代码表示为循环
最近我正在使用UX表单,比如登录和注册表单,只是为了灵感。我只是以行格式编码,没有应用任何逻辑来缩短它 下面是我如何编码的: 在这里,我们可以看到正在发生的事情,就像楼梯一样<代码>第一步,Javascript 将重复的jquery代码表示为循环,javascript,jquery,html,css,Javascript,Jquery,Html,Css,最近我正在使用UX表单,比如登录和注册表单,只是为了灵感。我只是以行格式编码,没有应用任何逻辑来缩短它 下面是我如何编码的: 在这里,我们可以看到正在发生的事情,就像楼梯一样第一步,第二步。。。。。 每个步骤之间也有一个时间间隔 如果我们做一些类似于i=0,i++,i的事情会怎么样?如果您只想以不同的超时间隔添加类,我会以完全不同的方式构造代码 首先,我将设置一个包含所有类/超时的数组 然后,我将迭代它们,设置超时 例如: // Classes is a collection (an array
第二步
。。。。。
每个步骤之间也有一个时间间隔
如果我们做一些类似于
i=0
,i++
,i的事情会怎么样?如果您只想以不同的超时间隔添加类,我会以完全不同的方式构造代码
首先,我将设置一个包含所有类/超时的数组
然后,我将迭代它们,设置超时
例如:
// Classes is a collection (an array of objects)
var classes = [
{ name: 'first_step',
time: 2000 // this needs to be the CUMULATIVE time
},
{ name: 'second_step',
time: 4000
},
{ name: 'third_step',
time: 6000
}
];
$.each(classes, function(i, c) {
// Here 'c' contains the object, with properties 'name' and 'time'
setTimeout(function() {
$('.form-content.minimized').addClass(c.name);
}, c.time);
});
正如其他人指出的,addClass
不接受第二个参数,因此不需要嵌套
这里有一个你所做的一切真的只是为每个步骤添加类吗?是的!这就是我的全部代码可能会在你的“问题”中添加一个问题?addClass
没有第二个参数。它也是同步的,所以这段代码没有意义以这种方式显示循环尝试。您似乎已经知道要做什么,而这不是一个代码编写服务
// Classes is a collection (an array of objects)
var classes = [
{ name: 'first_step',
time: 2000 // this needs to be the CUMULATIVE time
},
{ name: 'second_step',
time: 4000
},
{ name: 'third_step',
time: 6000
}
];
$.each(classes, function(i, c) {
// Here 'c' contains the object, with properties 'name' and 'time'
setTimeout(function() {
$('.form-content.minimized').addClass(c.name);
}, c.time);
});