javascript - 我需要在 Jquery 中从 'active' 项目开始循环

标签 javascript jquery loops

我现在使用 JavaScript,我想循环设置每个 <li>类别“活跃”从 n° 1 到 <li> n° 4,然后每 3 秒重新开始到 n° 1。

到目前为止我有这个代码:

HTML

<ul class="collection">
     <li id="first" class="collection-item active">Desplazate hacia la pestaña <strong>HORARIOS</strong>.</li>
     <li id="second"  class="collection-item ">Ingresa tu N° de documento.</li>    
     <li id="third" class="collection-item ">Presiona el botón <strong>INGRESAR</strong>.</li>
     <li id="four" class="collection-item "><strong>LISTO!</strong> Ahora puedes ver los horarios de la semana.</li>
</ul>

JavaScript

 $(document).ready(function(){


    setInterval(animacion,3000);

    function animacion(){
        $currently_selected = $('li.active')

    // Loop back to first sibling if on the last one. 
        if ($currently_selected.next().length = 0){ 
        $next_selected = $currently_selected.siblings().first()
    } else {
       $next_selected = $currently_selected.next()

       $currently_selected.removeClass('active')
       $next_selected.addClass('active')
    }

    }
});

请帮助我!

最佳答案

  • 在测试长度时使用=====,因为=将充当赋值运算符并且它总是被评估为true
  • else block 应在分配 $next_selected 变量后关闭

$(document).ready(function() {
  setInterval(animacion, 3000);

  function animacion() {
    $currently_selected = $('li.active');
    if ($currently_selected.next().length == 0) {
      $next_selected = $currently_selected.siblings().first();
    } else {
      $next_selected = $currently_selected.next();
    }
    $currently_selected.removeClass('active');
    $next_selected.addClass('active');
  }
});
.active {
  color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<ul class="collection">
  <li id="first" class="collection-item active">Desplazate hacia la pestaña <strong>HORARIOS</strong>.</li>
  <li id="second" class="collection-item ">Ingresa tu N° de documento.</li>
  <li id="third" class="collection-item ">Presiona el botón <strong>INGRESAR</strong>.</li>
  <li id="four" class="collection-item "><strong>LISTO!</strong> Ahora puedes ver los horarios de la semana.</li>
</ul>

关于javascript - 我需要在 Jquery 中从 'active' 项目开始循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38084337/

相关文章:

php - 循环 mysql 查询的 WHERE 部分

mysql - 处理 mySQL 过程循环中未找到的数据

java - 如何在java中同步循环,以便我可以手动增加循环值(当某些执行完成时)

javascript - Reset() 函数不起作用,为什么?

javascript - 如何使用 JavaScript 将 <a> 标记的 onclick 事件处理程序更改为带参数的函数?

jquery - 使用 JQuery 中的全局变量将选定的属性设置为下拉菜单

jquery - 在 Jquery 中使用按钮加载 DIV

javascript - Angular2 zone.run() 与 ChangeDetectorRef.detectChanges()

javascript - jQuery 链接比单独的语句更快?

jquery - 如何在不阻塞用户界面的情况下关闭对话框