javascript setInterval()函数

查看:109
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆