假设我有以下html:
<ul>
<li class="activeitem"><a href="#">one</a></li>
<li><a href="#">two</a></li>
<li><a href="#">three</a></li>
<li><a href="#">four</a></li>
<li><a href="#">five</a></li>
</ul>
$('ul a').on('click',function(e){
e.preventDefault();
.....
现在,我希望如果我点击五,那么它的父亲的先前列表应该添加类activeitem
但是首先从这个添加类的下一个已经添加接下来并在400ms后删除该类,然后将类添加到next li并在400ms后再次删除class并将class添加到next li。这个过程发生在点击的菜单li,即五,现在最后我应该将activeitem类送到cilcked链接的父母li。
答案 0 :(得分:0)
使用setTimeout
和递归
function doSetTimeout(){
setTimeout(function(){
$ul.children('li').removeClass('activeitem');
$ul.children('li:nth-child(' + i + ')').addClass('activeitem');
if (i <= index){
doSetTimeout();
}
i++;
},400);
}
这是Fiddle