javascript setInterval()函数
本文介绍了javascript setInterval()函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
用setInterval()函数动态给li添加css
<ul>
<li> 1 </li>
<li> 2 </li>
<li> 3 </li>
<li> 4 </li>
</ul>
var i = -1;
setInterval(function(){
i++;.
console.log(i);
(i > 3) ? i = -1 : changeClass(i);
}, 1000);
function changeClass(j) {
$('li').eq(j).addClass('cur').siblings().removeClass('cur');
}
发现i的变化是 0->1->2->3->4->0->1->2->3->4这样, 也就意味着下标为3的li添加css 后, 中间会间隔1s, 才会继续动态切换, 因为没有下标为4的li, 这是什么情况造成的
这个问题已被关闭,原因:问题已解决 - 问题已解决,且对他人无借鉴意义
解决方案
因为 (i > 3) ? i = -1 : changeClass(i); 三元运算,
当i=4的时候 (i > 3) ? 意思就是 4大于3吗?,4肯定大于3就执行i = -1,
就不会执行changeClass(i)这个函数,所以没有下标为4的li
这篇关于javascript setInterval()函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文