如何在点击时切换操作

时间:2014-12-10 16:37:54

标签: javascript jquery

===问题NR.1 ===

有谁知道如何制作这个javascript toogle-bar?我知道toogleClass但在这种情况下如何使用它?

$('.gallery').click(function(e){
            var itemNumber = ('#myCarousel2 .item').length;

            console.log('broj slika je' + ' ' + itemNumber);
            if (itemNumber >= 4){
                $('#myCarousel2 .carousel-inner .item').addClass('active');
                console.log('added Active class!');
                $('#myCarousel2').addClass('thumbnail-gallery');
                $('.modal').css('pointer-events', 'none');
            };
        });

我正在尝试恢复第二次 .gallery点击的操作。一旦用户点击.gallery元素,就会添加这个.active类,我将在第二次单击 .gallery 时删除。

更新::

我在这里谈论Twitter引导程序。如果我这样做,它将删除我另外添加到项目的所有活动(包括当前图像中的这一个)类。我想只删除我最近添加的活动类。

更新nr.2 - 第一个问题的解决方案

以下是toogleing点击功能的解决方案:

var itemNumber = ('#myCarousel2 .item').length;
        $(".gallery").toggle(
        function() {
            if (itemNumber >= 4){
                $('#myCarousel2 .carousel-inner .item:not(.active)').addClass("active");
                console.log('added Active class!');
                $('#myCarousel2').addClass('thumbnail-gallery');
                $('.modal').css('pointer-events', 'none');
            };
        }, 
        function() {
            $('#myCarousel2 .carousel-inner .item').removeClass('active');
            console.log('added Active class!');
            $('#myCarousel2').removeClass('thumbnail-gallery');
            $('.modal').css('pointer-events', 'auto');
        });

===问题NR.2 ===

我正在寻找我的第二个问题的答案,当我尝试删除我已添加的所有课程时出现。有没有人有解决方案??

2 个答案:

答案 0 :(得分:0)

您需要做的就是检查是否存在活动课程。

 if($('#myCarousel2 .carousel-inner .item')hasClass('active')){
    $('#myCarousel2 .carousel-inner .item')removeClass('active');
 }

答案 1 :(得分:0)

要切换课程,您必须执行以下操作:

$('#myCarousel2 .carousel-inner .item').toggleClass("active");

要选择所有未激活的项目,您需要以下内容:

$('#myCarousel2 .carousel-inner .item:not(.active)').addClass("active");