1

我是 jQuery 的初学者,我想将背景颜色更改为活动菜单项,但我不知道如何。如果我选择一些项目背景会改变,但如果我选择另一个项目,在前一个项目中保持“活动背景颜色”,我想改回默认颜色,只有活动菜单项会改变。

这是现在的静态菜单,但我会将它从数据库中重建为动态菜单,这样我就可以使用一些 ID 或任何对每个菜单项都是唯一的。

我有这个,因为并且不知道下一步如何:

        $('#accordian h3').click(function () {
            $(this).addClass("active1")
        });

完整的源代码在这里http://jsfiddle.net/BERRF/。最好在 jsfiddle 中回答。提前谢谢。

4

4 回答 4

3

添加:

$("#accordion h3").removeClass("active1");

您可以在小提琴中看到这一点。此外,您不需要 2 个点击事件,您可以将它们组合起来。

http://jsfiddle.net/sx2Z7/

您只需在重新设置之前从每个 h3 中删除所有 active1 类,因此只有您当前的活动将具有白色背景颜色。

很清楚还是有什么问题?:)

于 2013-08-08T06:55:26.377 回答
0

Try this one first remove the class active1 then add

 $('#accordian h3').click(function () {
                $('#accordian h3').removeClass("active1")
                $(this).addClass("active1")
            });

Fiddle

于 2013-08-08T06:57:21.183 回答
0

您首先“重置”先前选择的元素:

   $('#accordian h3').click(function () {
       $('.active1').removeClass('active1');
       $(this).addClass("active1")
   });

这应该够了吧。

于 2013-08-08T06:56:46.140 回答
0

为您的 h3 添加一个类。

class="accordiontabs"

例如:

<h3  class="accordiontabs"><span class="icon-tasks"></span><a href="#">Tasks</a></h3>

添加此更改您的 JQuery 到

$('#accordian h3').click(function () {
                $('.accordiontabs').removeClass("active1");
                $(this).addClass("active1")
            });

现场演示在这里

于 2013-08-08T06:59:12.133 回答