如何使用jQuery无限添加然后删除一组4个li上的CSS类。
基本上,请看这个简单的小提琴(没有任何jquery):http://jsfiddle.net/kHsvN/
我想循环通过方框来改变盒子的css,翻回原来的css,然后继续下一个等等......
任何帮助表示赞赏!
答案 0 :(得分:2)
$(document).ready(function() {
window.setInterval(function() {
$("#topboxesmenu li a").each(function() {
$(this).css("background", get_random_color());
});
}, 1000);
});
function get_random_color() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.round(Math.random() * 15)];
}
return color;
}
此示例使用随机颜色,但可以轻松更改为.addClass()
部分中的.each
。
JS Fiddle(实例)
答案 1 :(得分:1)
你可以试试这个
CSS 对于当前项目,要添加/删除的类
ul#topboxesmenu li a.current{ background:black }
<强> JS 强>
$('#topboxesmenu li a').each(function(i){
var t=$(this);
setTimeout(function(){
t.addClass('current');
setTimeout(function(){
t.removeClass('current');
}, 1000);
}, 1100*i);
});
更新:用于连续循环
$(function(){
loopIt();
});
function loopIt(){
$('#topboxesmenu li a').each(function(i){
var t=$(this);
setTimeout(function(){
t.addClass('current');
setTimeout(function(){
t.removeClass('current');
if(i==$('#topboxesmenu li a').length-1) loopIt();;
}, 1000);
}, 1100*i);
});
}
DEMO。
答案 2 :(得分:1)
试试这个:
jQuery(document).ready(function() {
window.setInterval(function() {
var oldBox = jQuery('#topboxesmenu li.active');
if(oldBox.length == 0 || oldBox.next().length == 0)
{
oldBox.removeClass('active');
jQuery('#topboxesmenu li:first-child').addClass('active');
}
else
oldBox.removeClass('active').next().addClass('active');
},2000);
});
它将循环显示框,一个接一个地向它们添加活动类。
答案 3 :(得分:0)
我认为这样做是你想要的:
el = $('#topboxesmenu li:first-child');
setInterval(function() {
el = window.el;
el.siblings().children('a').css('background','#ff0000');
el.children('a').css('background-color', 'blue');
el = el.next().length ? el.next() : el.parent().children('li:first-child');
}, 1000);
请参阅working demo
<强>更新强>:
关于您的测试页无效,您在身体标记之外使用了javascript,请尝试将</body>
标记放在</html>
标记之前。你现在有这个:
</body>
<script type="text/javascript" ....
...
...
</html>
更新2 :
你的jquery脚本标签:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script>
应放在您网页的<head>
内,而不是您当前拥有该网页的正文。