javascript - 淡入/淡出阵列循环停止

标签 javascript jquery html css

我怎样才能停止这个循环?

<body>
        <div class="container">

            <div id="claim"></div>
        </div>
        <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
        <script>
          var classes = [
                '<h1 >Software</h1>',
                '<h1 >project </h1>',
                '<h1 >Engineering</h1>',  
                '<h1 >Science</h1>',
                '<img src="https://img.icons8.com/material/4ac144/256/user-male.png">'
            ];

            var i = 0;
            $("#claim").html(classes[i]);
            setInterval(function() {

                i = (i + 1) % classes.length;
                $("#claim").html(classes[i]);

            },  800);


        </script>
    </body>

脚本运行正常,但我想在最后停止它。

提前致谢

最佳答案

您可以使用 clearInterval()取消之前通过调用 setInterval() 建立的定时重复操作。

var classes = [
    '<h1 >Software</h1>',
    '<h1 >project </h1>',
    '<h1 >Engineering</h1>',  
    '<h1 >Science</h1>',
    '<img src="https://img.icons8.com/material/4ac144/256/user-male.png">'
];

var i = 0;
$("#claim").html(classes[i]);

var interval = setInterval(function() {       
  if(i == classes.length - 2){ // stop at the end item
    clearInterval(interval);
  }
  i = (i + 1) % classes.length;
  $("#claim").html(classes[i]);

},  800);
<div class="container">
  <div id="claim"></div>
</div>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

关于javascript - 淡入/淡出阵列循环停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58182920/

相关文章:

javascript - 有没有办法使可滚动对象的滚动更精细?

javascript - 在 JS 中动态设置 div 位置和大小 - 如何使过渡更平滑?

JQuery - 从变量获取属性值

html - 为什么我得到水平滚动?

javascript - 将服务器响应格式化为人类可读

javascript - Vuejs 类型错误 : Cannot use 'in' operator to search for

javascript - 将对象映射到数组然后使用 jQuery 输出值

javascript - Closure Compiler 使用 MutationObserverInit 的方法是什么?

c# - 将模型编写为 Javascript 中可用的对象

javascript - 可拖动元素被放到哪里了?