each方法加定时器的疑问?哎呦 无人问津

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>each</title>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>
<body>
    <ul>
        <li class="on">0</li>
        <li class="on">0</li>
        <li class="on">0</li>
        <li class="on">0</li>
        <li class="on">0</li>
        <li class="on">0</li>
        <li class="on">0</li>
        <li class="on">0</li>
    </ul>
<script type="text/javascript">
    var num = 0,
    timer = null;
    $(".on").each(function (index, value) {
        timer = setInterval(function(){
            if (num == 900) {
                clearInterval(timer);
            }else{
                num++;
            }
            $(value).text(num);
        },50)
    })

</script>
</body>
</html>

第一个疑问if(num==1000)和if(num==900)得到的最后样子不同?num==900时,除了最后一个差几个900,其他的都是900,而1000时,li可以全变成1000?

第二个疑问定时器里的函数写成这样为什么只有最后一个li停了其他的li停不下来

        timer = setInterval(function(){
            if (num == 998) {
                clearInterval(timer);
            }
            num++;
            $(value).text(num);
        },50)


啊啊啊啊123
浏览 1525回答 1
1回答

qq_小盛开_0

去看一下,闭包
打开App,查看更多内容
随时随地看视频慕课网APP