Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击“添加”“删除类”_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

Javascript 单击“添加”“删除类”

Javascript 单击“添加”“删除类”,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,嗨,伙计们,当用户点击指示器或滑动箭头时,我正在努力添加/删除活动的twitter引导指示器类。有人能帮我做这个吗: 以下是代码: $('.carousel-indicators li, .carousel-control').on("click",function(){ $('.carousel-indicators li.active').removeClass("active"); $(this).addClass("active"); 现在,它可以处理数字,但当用户单击任何箭头

嗨,伙计们,当用户点击指示器或滑动箭头时,我正在努力添加/删除活动的twitter引导指示器类。有人能帮我做这个吗:

以下是代码:

$('.carousel-indicators  li, .carousel-control').on("click",function(){ 
$('.carousel-indicators li.active').removeClass("active");
$(this).addClass("active");

现在,它可以处理数字,但当用户单击任何箭头或滑动时,它只会删除类,而不会添加到新的活动类


例如,搜索

这是一个有效的例子

您只需要从引导转盘绑定滑动事件

$('#myCarousel').bind('slid', function () {

    $('.carousel-indicators .active').removeClass('active');
    var activeIndex = $('#myCarousel .item.active').index();
    $('.carousel-indicators li:eq(' + activeIndex + ')').addClass('active');

});

这是一个有效的例子

您只需要从引导转盘绑定滑动事件

$('#myCarousel').bind('slid', function () {

    $('.carousel-indicators .active').removeClass('active');
    var activeIndex = $('#myCarousel .item.active').index();
    $('.carousel-indicators li:eq(' + activeIndex + ')').addClass('active');

});

这是因为您在click处理程序中引用了这个类,从而将活动类设置为arrow而不是number

您可以执行另一个单击处理程序来单击箭头,如下所示:

$('.carousel-control').click( function(){
    var $next;
    if( this.dataset.slide === "prev"){
        $next = $('.carousel-indicators li.active').prev();
        if( $next[0] === undefined) $next = $('.carousel-indicators li').last();     
    } else {
        $next = $('.carousel-indicators li.active').next();
        if( $next[0] === undefined) $next = $('.carousel-indicators li').first();           
    }

     $('.carousel-indicators li.active').removeClass("active");
    $next.addClass("active");

});

我已经更新了您的小提琴,请在这里查看:

这是因为您在单击处理程序中引用了此函数,从而将活动类设置为arrow而不是number

您可以执行另一个单击处理程序来单击箭头,如下所示:

$('.carousel-control').click( function(){
    var $next;
    if( this.dataset.slide === "prev"){
        $next = $('.carousel-indicators li.active').prev();
        if( $next[0] === undefined) $next = $('.carousel-indicators li').last();     
    } else {
        $next = $('.carousel-indicators li.active').next();
        if( $next[0] === undefined) $next = $('.carousel-indicators li').first();           
    }

     $('.carousel-indicators li.active').removeClass("active");
    $next.addClass("active");

});

我更新了你的小提琴,查看此处:

这是因为当您单击箭头时,活动类会应用于箭头,而不是数字…?我想这就是您要寻找的。您需要为箭头按钮使用不同的处理程序。有人可以编写一个示例吗?@hitesh它不起作用吗?这是因为当您单击箭头时,活动类会应用于箭头在他们身上,而不是数字上…?我想这就是你要找的。你需要为箭头按钮配备不同的处理程序。有人可以写一个例子吗?@hitesh它不起作用吗?