
用jquery依次给列表li添加class=on
代码如下:<divid=123><ul><li>我要加样式</li><li>我要加样式</li><li>我要加样式</li><li>我要加样式</li><li>我要加样式...
代码如下:
<div id=123>
<ul>
<li>我要加样式</li>
<li>我要加样式</li>
<li>我要加样式</li>
<li>我要加样式</li>
<li>我要加样式</li>
</ul>
</div>
我要依次给这几个li添加class=on ,是依次哦,也就是说同一时刻,只能有一个li被修改,而且要求可以控制指针移动的速度。
多谢了,看了一个遍jq教程也没搜到。 展开
<div id=123>
<ul>
<li>我要加样式</li>
<li>我要加样式</li>
<li>我要加样式</li>
<li>我要加样式</li>
<li>我要加样式</li>
</ul>
</div>
我要依次给这几个li添加class=on ,是依次哦,也就是说同一时刻,只能有一个li被修改,而且要求可以控制指针移动的速度。
多谢了,看了一个遍jq教程也没搜到。 展开
2个回答
展开全部
给ul和li加id
<ul id='abc'>
<li id='abc_1'>我要加样式</li>
<li id='abc_2'>我要加样式</li>
<li id='abc_3'>我要加样式</li>
....
这样,然后获取li的个数var len = $("#abc li").length;
然后做个定时器,里面做逻辑,加样式~~~
var temp = 1;
var t=setInterval(function(){
if(i == len+1){
setInterval(t);
}
$("#abc_"+i).addClass('on');
i++;
}, 1000);
大概这样简单写了下,没做实例测,你再测测,有需要自己再完善下~~~
<ul id='abc'>
<li id='abc_1'>我要加样式</li>
<li id='abc_2'>我要加样式</li>
<li id='abc_3'>我要加样式</li>
....
这样,然后获取li的个数var len = $("#abc li").length;
然后做个定时器,里面做逻辑,加样式~~~
var temp = 1;
var t=setInterval(function(){
if(i == len+1){
setInterval(t);
}
$("#abc_"+i).addClass('on');
i++;
}, 1000);
大概这样简单写了下,没做实例测,你再测测,有需要自己再完善下~~~
追问
多谢
展开全部
var timeout = 1000; //每隔1000ms
var index = 0;
var addClassOn;
addClassOn = setInterval(function(){
if(index >= $("ul li").length){
clearInterval(addClassOn);
addClassOn = null;
}else {
$("ul li").eq(index++).addClass("on");
}
},timeout);
更多追问追答
追问
谢谢,你的答案可以实现依次添加class=on,然而不是每一时刻只有一个li添加这个class=on,执行到最后是每一个li都有了class=on这个类,而且不能循环添加,请做修改下好吗
追答
//只需要稍稍改动下就行了
var timeout = 1000; //每隔1000ms
var index = 0;
var addClassOn;
addClassOn = setInterval(function(){
if(index >= $("ul li").length){
index = 0; //此处改动,可以无限循环 1 2 3 1 2 3 1 2 3 。。。
}else {
$("ul li").eq(index++).addClass("on").siblings().removeClass("on");//改动处
}
},timeout);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询