替换单击函数中的类

时间:2014-08-26 11:52:05

标签: javascript jquery class replace

我需要在点击功能中替换一些类名。

我有这行代码,在单击按钮时会添加正确的类:

showLeft.onclick = function() {
    $(".cbp-spmenu-open ul li.inview").toggleClass("animated bounceInLeft visible");
};

当我再次点击该按钮时,如何用以下内容替换上述类名:animated bounceOutLeft hidden,反之亦然?

5 个答案:

答案 0 :(得分:0)

您只想将visible替换为hidden,将bounceIn替换为bounceOut

.toggleClass("bounceInLeft visible").toggleClass("bounceOutLeft hidden");

并将addClass用于您要保留的animated

请参阅example fiddle

答案 1 :(得分:0)

这个怎么样:

showLeft.onclick = function() {
    if($(".cbp-spmenu-open ul li.inview").hasClass('hidden')) {
        $(".cbp-spmenu-open ul li.inview").toggleClass("animated bounceInLeft visible");
    } else {
        $(".cbp-spmenu-open ul li.inview").toggleClass("animated bounceOutLeft hidden");
    }
}

检查您的元素是否隐藏,并使其可见或不可见。

答案 2 :(得分:0)

在您的html中(如果可能)尝试将bounceOutLefthidden添加到li.inview元素

如果没有在页面加载时使用jquery添加它们。

$(".cbp-spmenu-open ul li.inview").addClass("bounceOutLeft hidden"); // only when you can't edit the html
showLeft.onclick = function() {
  $(".cbp-spmenu-open ul li.inview").toggleClass("animated bounceOutLeft bounceInLeft visible hidden");
};

答案 3 :(得分:0)

像这样:

showLeft.onclick = function() {
    if($(".cbp-spmenu-open ul li.inview").hasClass("hidden")
        $(".cbp-spmenu-open ul li.inview").toggleClass("animated bounceInLeft visible");
    else
       $(".cbp-spmenu-open ul li.inview").toggleClass("animated bounceOutLeft hidden");
};

答案 4 :(得分:0)

使用此

showLeft.onclick = function() {
    $(".cbp-spmenu-open ul li.inview").toggleClass('bounceInLeft visible').toggleClass('bounceOutLeft hidden');
};

或者这个:

showLeft.onclick = function() {
    var $li = $(".cbp-spmenu-open ul li.inview");
    if($li.hasClass('visible'))
        $li.removeClass('bounceInLeft visible').addClass('bounceOutLeft hidden');
    else
        $li.removeClass('bounceOutLeft hidden').addClass('bounceInLeft visible');
};