Javascript 如何激活一个选项并禁用其他选项

Javascript 如何激活一个选项并禁用其他选项,javascript,jquery,Javascript,Jquery,我正在创建导航栏。当我单击其中一个选项时,该选项将变为活动选项,但当我单击另一个选项时,先前处于活动状态的选项将保留在那里 参见我的小提琴示例: 我只想激活单击的项目 我的HTML <p id="parent1">i'm the parent</p> <p id="child1">i'm the first child</p> <p id="parent2">i'm the 2nd parent</p> &

我正在创建导航栏。当我单击其中一个选项时,该选项将变为活动选项,但当我单击另一个选项时,先前处于活动状态的选项将保留在那里

参见我的小提琴示例:

我只想激活单击的项目

我的HTML

  <p id="parent1">i'm the parent</p>
  <p id="child1">i'm the first child</p>

  <p id="parent2">i'm the 2nd parent</p>
  <p id="child2">i'm the second children</p>
我的JQUERY

  (function(){

        var object = {

            dropdown1:$('#child1'),
            dropdown2:$('#child2'),

            dropdown1parent: function(){
                if(object.dropdown1.is(':hidden')){
                    object.dropdown1.fadeIn();
                }
                else{
                    object.dropdown1.fadeOut();
                }

            },

            dropdown2parent: function(){

                if(object.dropdown2.is(':hidden')){
                    object.dropdown2.fadeIn();
                }
                else
                {
                    object.dropdown2.fadeOut();
                }
            }   


        };

        $('#parent1').on('click', object.dropdown1parent);
        $('#parent2').on('click', object.dropdown2parent);


    })();  

您只需在javascript中添加两行代码,以下是已编辑的代码段-

dropdown1parent: function(){
                    if(object.dropdown1.is(':hidden')){
                        object.dropdown1.fadeIn();
                        object.dropdown2.fadeOut(); //this line
                    }
                    else{
                        object.dropdown1.fadeOut();
                    }

                },

                dropdown2parent: function(){

                    if(object.dropdown2.is(':hidden')){
                        object.dropdown1.fadeOut(); //this line
                        object.dropdown2.fadeIn();
                    }
                    else
                    {
                        object.dropdown2.fadeOut();
                    }
                }

这是您想要的吗?

您只需在javascript中添加两行代码,以下是已编辑的代码片段-

dropdown1parent: function(){
                    if(object.dropdown1.is(':hidden')){
                        object.dropdown1.fadeIn();
                        object.dropdown2.fadeOut(); //this line
                    }
                    else{
                        object.dropdown1.fadeOut();
                    }

                },

                dropdown2parent: function(){

                    if(object.dropdown2.is(':hidden')){
                        object.dropdown1.fadeOut(); //this line
                        object.dropdown2.fadeIn();
                    }
                    else
                    {
                        object.dropdown2.fadeOut();
                    }
                }

这是您想要的吗?

您只需在javascript中添加两行代码,以下是已编辑的代码片段-

dropdown1parent: function(){
                    if(object.dropdown1.is(':hidden')){
                        object.dropdown1.fadeIn();
                        object.dropdown2.fadeOut(); //this line
                    }
                    else{
                        object.dropdown1.fadeOut();
                    }

                },

                dropdown2parent: function(){

                    if(object.dropdown2.is(':hidden')){
                        object.dropdown1.fadeOut(); //this line
                        object.dropdown2.fadeIn();
                    }
                    else
                    {
                        object.dropdown2.fadeOut();
                    }
                }

这是您想要的吗?

您只需在javascript中添加两行代码,以下是已编辑的代码片段-

dropdown1parent: function(){
                    if(object.dropdown1.is(':hidden')){
                        object.dropdown1.fadeIn();
                        object.dropdown2.fadeOut(); //this line
                    }
                    else{
                        object.dropdown1.fadeOut();
                    }

                },

                dropdown2parent: function(){

                    if(object.dropdown2.is(':hidden')){
                        object.dropdown1.fadeOut(); //this line
                        object.dropdown2.fadeIn();
                    }
                    else
                    {
                        object.dropdown2.fadeOut();
                    }
                }

这是您想要的吗?

您需要淡出另一个:

(function () {

    var object = {

        dropdown1: $('#child1'),
        dropdown2: $('#child2'),

        dropdown1parent: function () {
            if (object.dropdown1.is(':hidden')) {
                object.dropdown1.fadeIn();
                object.dropdown2.fadeOut();
            } else {
                object.dropdown1.fadeOut();
                object.dropdown2.fadeOut();
            }

        },

        dropdown2parent: function () {

            if (object.dropdown2.is(':hidden')) {
                object.dropdown2.fadeIn();
                object.dropdown1.fadeOut();
            } else {
                object.dropdown1.fadeOut();
                object.dropdown2.fadeOut();
            }
        }


    };

    $('#parent1').on('click', object.dropdown1parent);
    $('#parent2').on('click', object.dropdown2parent);


})();


你应该考虑创建一个函数来管理它,如果你使用了大量的“下拉菜单”,这将成为一场噩梦。

你需要淡出另一个:

(function () {

    var object = {

        dropdown1: $('#child1'),
        dropdown2: $('#child2'),

        dropdown1parent: function () {
            if (object.dropdown1.is(':hidden')) {
                object.dropdown1.fadeIn();
                object.dropdown2.fadeOut();
            } else {
                object.dropdown1.fadeOut();
                object.dropdown2.fadeOut();
            }

        },

        dropdown2parent: function () {

            if (object.dropdown2.is(':hidden')) {
                object.dropdown2.fadeIn();
                object.dropdown1.fadeOut();
            } else {
                object.dropdown1.fadeOut();
                object.dropdown2.fadeOut();
            }
        }


    };

    $('#parent1').on('click', object.dropdown1parent);
    $('#parent2').on('click', object.dropdown2parent);


})();


你应该考虑创建一个函数来管理它,如果你使用了大量的“下拉菜单”,这将成为一场噩梦。

你需要淡出另一个:

(function () {

    var object = {

        dropdown1: $('#child1'),
        dropdown2: $('#child2'),

        dropdown1parent: function () {
            if (object.dropdown1.is(':hidden')) {
                object.dropdown1.fadeIn();
                object.dropdown2.fadeOut();
            } else {
                object.dropdown1.fadeOut();
                object.dropdown2.fadeOut();
            }

        },

        dropdown2parent: function () {

            if (object.dropdown2.is(':hidden')) {
                object.dropdown2.fadeIn();
                object.dropdown1.fadeOut();
            } else {
                object.dropdown1.fadeOut();
                object.dropdown2.fadeOut();
            }
        }


    };

    $('#parent1').on('click', object.dropdown1parent);
    $('#parent2').on('click', object.dropdown2parent);


})();


你应该考虑创建一个函数来管理它,如果你使用了大量的“下拉菜单”,这将成为一场噩梦。

你需要淡出另一个:

(function () {

    var object = {

        dropdown1: $('#child1'),
        dropdown2: $('#child2'),

        dropdown1parent: function () {
            if (object.dropdown1.is(':hidden')) {
                object.dropdown1.fadeIn();
                object.dropdown2.fadeOut();
            } else {
                object.dropdown1.fadeOut();
                object.dropdown2.fadeOut();
            }

        },

        dropdown2parent: function () {

            if (object.dropdown2.is(':hidden')) {
                object.dropdown2.fadeIn();
                object.dropdown1.fadeOut();
            } else {
                object.dropdown1.fadeOut();
                object.dropdown2.fadeOut();
            }
        }


    };

    $('#parent1').on('click', object.dropdown1parent);
    $('#parent2').on('click', object.dropdown2parent);


})();


您应该考虑创建一个函数来管理它,如果您使用大量的“下拉列表”,这将成为一场噩梦。

您应该使用公共类来消除重复代码

这里有一个例子

$(函数(){
$('.parent')。在('click',function()上{
var child=$(this.next('.child');//查找下一个子项
//淡出其他对象,然后处理当前子对象
$('.child').not(child).fadeOut(function(){
fadeToggle();
})
});
});
.parent{
背景色:#000;
颜色:#fff;
}
.孩子{
显示:无;
背景色:红色;
颜色:#fff;
}

我是家长

我是第一个孩子

我是第二位家长


我是第二个孩子

您应该使用公共类来消除重复代码

这里有一个例子

$(函数(){
$('.parent')。在('click',function()上{
var child=$(this.next('.child');//查找下一个子项
//淡出其他对象,然后处理当前子对象
$('.child').not(child).fadeOut(function(){
fadeToggle();
})
});
});
.parent{
背景色:#000;
颜色:#fff;
}
.孩子{
显示:无;
背景色:红色;
颜色:#fff;
}

我是家长

我是第一个孩子

我是第二位家长


我是第二个孩子

您应该使用公共类来消除重复代码

这里有一个例子

$(函数(){
$('.parent')。在('click',function()上{
var child=$(this.next('.child');//查找下一个子项
//淡出其他对象,然后处理当前子对象
$('.child').not(child).fadeOut(function(){
fadeToggle();
})
});
});
.parent{
背景色:#000;
颜色:#fff;
}
.孩子{
显示:无;
背景色:红色;
颜色:#fff;
}

我是家长

我是第一个孩子

我是第二位家长


我是第二个孩子

您应该使用公共类来消除重复代码

这里有一个例子

$(函数(){
$('.parent')。在('click',function()上{
var child=$(this.next('.child');//查找下一个子项
//淡出其他对象,然后处理当前子对象
$('.child').not(child).fadeOut(function(){
fadeToggle();
})
});
});
.parent{
背景色:#000;
颜色:#fff;
}
.孩子{
显示:无;
背景色:红色;
颜色:#fff;
}

我是家长

我是第一个孩子

我是第二位家长


我是第二个孩子

你想要吗===>谢谢先生它的工作:)你想要吗===>谢谢先生它的工作:)你想要吗===>谢谢先生它的工作:)你想要吗====>谢谢先生它的工作:)