多幻灯片切换上活动类的问题

时间:2014-10-02 11:54:57

标签: jquery

我在手风琴上遇到活动课的问题,因为它没有考虑到另一个选项的点击。它需要在打开时激活

$('.toggleBlock').hide();
$('.togglelink').on('click', function (e) {
    e.preventDefault();
    var elem = $(this).next('.toggleBlock')
    $('.toggleBlock').not(elem).hide('slow');
     elem.toggle('slow');

    $(this).parent().find(".togglelink").toggleClass("active")
});

小提琴http://fiddle.jshell.net/ktcle/njx9b6vh/2/

3 个答案:

答案 0 :(得分:1)

这将适用于js函数的结尾

$(this).parents('ul.lists').find(".togglelink.active").removeClass("active");
$(this).parent().find(".togglelink").addClass("active");

答案 1 :(得分:1)

您需要删除所有元素上的课程.active,但只需点击一下,然后切换您点击的那个

$(this).closest('.lists').find(".togglelink").not(this).removeClass("active");
$(this).toggleClass('active');

DEMO

你可以更简单地简化代码abit

$('.togglelink').not(this).removeClass('active');
$(this).toggleClass('active');

DEMO

答案 2 :(得分:1)

Js Fiddle

添加了新行,用于删除具有类

的其他活动类
 $('.toggleBlock').hide();
 $('.togglelink').on('click', function (e) {
     e.preventDefault();
     var elem = $(this).next('.toggleBlock')
     $('.toggleBlock').not(elem).hide('slow');
     elem.toggle('slow');
     $(".togglelink").removeClass("active") // added new line
     $(this).parent().find(".togglelink").toggleClass("active")
 });
相关问题