切换功能Javascript

时间:2012-02-21 12:01:37

标签: javascript jquery

当我点击具有“openclose(j)”功能的对象时,我正在尝试进行切换以在两个类之间切换。我尝试使脚本只有removeClass(“向下箭头”),这工作正常,但它不会addClass(“向上箭头”)。这真的很烦人:)

    function openclose(j){
        if(jQuery('#div_'+j).hasClass("arrow-down")) {
            jQuery('#div_'+j).removeClass("arrow-down").addClass("arrow-up");
        }
        if (jQuery('#div_'+j).hasClass("arrow-up")) {
            jQuery('#div_'+j).removeClass("arrow-up").addClass("arrow-down");
        }

        jQuery('#collaps_'+j).toggle(
            function () {

            }
        );
    }

非常感谢任何帮助,

此致 的Mathias

3 个答案:

答案 0 :(得分:6)

您可以使用符合您要求的toggleClass()

function openclose(j){
    jQuery('#div_'+j).toggleClass("arrow-down").toggleClass("arrow-up");
}

答案 1 :(得分:3)

使用 else if语句...

function openclose(j){
    if(jQuery('#div_'+j).hasClass("arrow-down")) {
        jQuery('#div_'+j).removeClass("arrow-down").addClass("arrow-up");
    }
    else if (jQuery('#div_'+j).hasClass("arrow-up")) {
        jQuery('#div_'+j).removeClass("arrow-up").addClass("arrow-down");
    }

    jQuery('#collaps_'+j).toggle(
        function () {

        }
    );
}

问题是您在添加后立即删除“向上箭头”类!

或者您可以考虑使用toggleClass JQuery函数。

答案 2 :(得分:1)

为什么不使用.toggleClass()

jQuery('#div_'+j).toggleClass("arrow-down").toggleClass("arrow-up");