javascript - 单击另一个div时如何添加li类

标签 javascript jquery html css

我有两个 div:#slider-next 和 #slider-prev。我还有 4 个 li 元素。在每次点击#slider-next 时,我需要向每个 li 添加 .active 类。 第一眼:

   <ul class="items-list">
        <li class="active" id="l1">One</li>
        <li id="l2">Two</li>
        <li id="l3">Three</li>
        <li id="l4">Four</li>
    </ul>

点击#slider-next 之后它应该看起来像:

<ul class="items-list">
    <li id="l1">One</li>
    <li class="active" id="l2">Two</li>
    <li id="l3">Three</li>
    <li id="l4">Four</li>
</ul>

它应该像开始时一样通过点击重复 这是我的代码,但它只为第二个 li 添加类:

function arrowNext() {
    if( $('#l1, #l2, #l3, #l4').hasClass('active') ) {
        $('.items-list li').removeClass('active');
        $('li:nth-child(1)').next().addClass('active');
    }
}

最佳答案

如果你需要循环 Next 和 Previous,你可以试试这个:

var nextCircularIndex = function(currentIndex, totalIndex) {
    currentIndex = currentIndex + 1;
    return currentIndex % totalIndex;
}

var previousCircularIndex: function (currentIndex, totalIndex) {
    currentIndex = currentIndex - 1;
    return currentIndex < 0 ? totalIndex - 1 : currentIndex;
}

然后像这样改变arrowNext

var currentSlider = 0;
var totalSlider = 4;

function arrowNext() {
   currentSlider = nextCircularIndex(currentSlider, totalSlider);
   $("ul.items-list li.active").removeClass('active');
   $("ul.items-list li:nth-child(" + currentSlider + ")").next().addClass('active');
}

function arrowPrevious() {
   currentSlider = previousCircularIndex(currentSlider, totalSlider);
   $("ul.items-list li.active").removeClass('active');
   $("ul.items-list li:nth-child(" + currentSlider + ")").next().addClass('active');
}

关于javascript - 单击另一个div时如何添加li类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38083531/

相关文章:

html - ul li 样式类型 :decimal is not working in IE7?

javascript - 视频标签有问题。视频通话结束后海报不可见

javascript - 类型错误:react__WEBPACK_IMPORTED_MODULE_2___default(...) 不是函数。我该如何解决这个问题?

javascript - jQuery ajax 未捕获类型错误

javascript - 使复选框磁贴可点击

javascript - 如何为 Bootstrap 选项卡 Pane 提供向上滑动/向下滑动效果

html - 将 Bootstrap 复选框样式设置为没有 btn-group 的按钮

javascript - 如何获得类似模数模式的正弦曲线

javascript - jQuery 创建的列表需要很多时间

jquery - 内置this->js->提交cakephp运行两次