我正在尝试使用jQuery编写以下内容。
当你点击一个段落时,它会检查是否选中了(检查)了checkbok,是否等了x量的时间并选择下一个复选框等等。
我最接近(不多,抱歉)you can see it here。
在这个示例中,您必须为每次检查单击一次,我不想要这个。
当您点击<p>
它:
如果可以循环使用,那就更好了。
非常感谢,我希望它足够清楚,如果没有,请问!
编辑:正如@James所说基本上我想要的是不断循环通过 复选框检查和取消选中 它们
答案 0 :(得分:2)
你的意思是这样吗?
$('p').click(function() {
$(':checkbox').each(function(i) {
var current = $(this);
setTimeout(function() { current.attr('checked', !current.attr('checked'))}, i*500);
});
});
在此处更新了jsFiddle:http://www.jsfiddle.net/jXHTJ/2/
更新:要更改每次点击的顺序(按照评论中的要求),以便按照{1,2,3}然后{2,3,1}然后{3,1}检查/取消选中复选框,2},您可以使用以下代码:
(function() {
var startWith = 0;
$('p').click(function() {
var checkboxes = $(':checkbox');
var numCheckboxes = checkboxes.length;
checkboxes.each(function(i) {
var current = $(this);
var delay = (i + startWith) % numCheckboxes;
setTimeout(function() { current.attr('checked', !current.attr('checked'))}, delay*500);
});
startWith = ++startWith % numCheckboxes;
});
})();
请注意,我将代码封装在我立即执行的匿名函数中,这样我就不会使用startWith变量污染全局命名空间。更新的jsFiddle在这里:http://www.jsfiddle.net/jXHTJ/3/