首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery更改所选选项卡的颜色

问jQuery更改所选选项卡的颜色
EN

Stack Overflow用户
提问于 2014-11-03 02:57:42
回答 2查看 8.3K关注 0票数 2

我已经使用jQuery创建了3个选项卡,我正在尝试更改所选选项卡的背景色。

我在jQuery中找到了许多关于突出显示活动选项卡的条目,并尝试遵循这些示例。但是我在实现示例时遇到了困难,所以我不确定我做错了什么。

下面是我的选项卡的代码:

代码语言:javascript
复制
<div id="informationTabs">
  <ul id="tabs">
    <li class="individual-tab" id="emailPhoneTab"><a href="#tabs-1" id="tab1Href">Email            &amp; Phone</a></li>
    <li class="individual-tab" id="mainAddressTab"><a href="#tabs-2" id="tab2Href">Main Address</a></li>
    <li class="individual-tab" id="mailingTab"><a href="#tabs-3" id="tab3Href">Mailing Address</a></li>
  </ul>
  <div id="tabs-1" class="tabs-windows">
    Change Email and Phone
  </div>
  <div id="tabs-2" class="tabs-windows">
    @Html.Action(Model.MainAddressPartialView)
  </div>
  <div id="tabs-3" class="tabs-windows">
    Mailing Address
  </div>
</div>

下面是我用来创建标签并在页面加载时设置活动标签的JQuery:

代码语言:javascript
复制
$("#informationTabs").tabs();
$(function() {
    $("#informationTabs").tabs({ selected: 1 });
});

这是一个css类,我试图使用它来设置所选标签的背景。它位于视图中呈现的一个单独的css类中。其他类工作得很好。

代码语言:javascript
复制
#tabs .ui-tabs-active {
    background: #5ba63c;
}

我是不是忘记了某个JQuery函数,或者忘记了应该用来设置所选选项卡背景颜色的设置?

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-11-03 07:58:40

感谢a1111exe、caeth和macsupport花时间将这篇文章放到JSFiddle上并进行检查。我查看了Macsupport推荐的JQuery插件,看起来我们使用的是jquery tabs1.8.24。当我检查该元素时,我注意到这个版本的jquery使用了.ui-state-active类。所以当我在css中改变它的时候,我得到了结果。如下所示:

代码语言:javascript
复制
#tabs .ui-state-active {
background: #5ba63c !important;
}

再次感谢你,肖恩

票数 4
EN

Stack Overflow用户

发布于 2014-11-03 04:18:27

我不确定这是否正是您正在寻找的,但这个示例(至少在Firefox中)演示了一种在切换选项卡上更改css的方法(可能不是最好的):

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="jquery-ui-1.11.2.custom/jquery-ui.css" />
<script src="jquery-ui-1.11.2.custom/external/jquery/jquery.js"></script>
<script src="jquery-ui-1.11.2.custom/jquery-ui.js"></script>
<script>
$(document).ready(function () {
        // Initialize active tab background color
        $("#informationTabs").tabs({
            create: function (e, i) {
                $('a.tab').css('background-color', 'white');
                i.tab.children('a').css('background-color', 'red');
            }
        });
        // Change the background color on activate
        $("#informationTabs").tabs({
            activate: function (e, i) {
                $('a.tab').css('background-color', 'white');
                var current = $('a[href="#' + i.newPanel.attr("id") + '"]');
                current.css('background-color', 'red');
            }
        });
});
</script>
</head>
<body>
<div id="informationTabs">
    <ul id="tabs">
        <li class="individual-tab" id="emailPhoneTab"><a href="#tabs-1" class="tab" id="tab1Href">Email            &amp; Phone</a></li>
        <li class="individual-tab" id="mainAddressTab"><a href="#tabs-2" class="tab" id="tab2Href">Main Address</a></li>
        <li class="individual-tab" id="mailingTab"><a href="#tabs-3" class="tab" id="tab3Href">Mailing Address</a></li>
    </ul>
    <div id="tabs-1" class="tabs-windows">
        Change Email and Phone
    </div>
    <div id="tabs-2" class="tabs-windows">
        @Html.Action(Model.MainAddressPartialView)
    </div>
    <div id="tabs-3" class="tabs-windows">
        Mailing Address
    </div>
</div>
</body>
</html>

希望这能有所帮助。

P.S. This似乎是一个关于jQuery UI标签的很好的教程。

另外,正如凯斯提到的那样,你的方式工作得很好(而且在所有方面都比我上面做的要好得多)。我已经把你的代码放在本地的html文件里了,如果是Firefox,它的颜色会变得非常漂亮:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<link type="text/css" rel="stylesheet" href="jquery-ui-1.11.2.custom/jquery-ui.css" />
<style type="text/css">
#tabs .ui-tabs-active {
    background: #5ba63c;
}
</style>
<script src="jquery-ui-1.11.2.custom/external/jquery/jquery.js"></script>
<script src="jquery-ui-1.11.2.custom/jquery-ui.js"></script>
<script>
$("#informationTabs").tabs();
$(function() {
        $("#informationTabs").tabs({ selected: 1 });
});
</script>
</head>
<body>
<div id="informationTabs">
    <ul id="tabs">
        <li class="individual-tab" id="emailPhoneTab"><a href="#tabs-1" id="tab1Href">Email            &amp; Phone</a></li>
        <li class="individual-tab" id="mainAddressTab"><a href="#tabs-2" id="tab2Href">Main Address</a></li>
        <li class="individual-tab" id="mailingTab"><a href="#tabs-3" id="tab3Href">Mailing Address</a></li>
    </ul>
    <div id="tabs-1" class="tabs-windows">
        Change Email and Phone
    </div>
    <div id="tabs-2" class="tabs-windows">
        @Html.Action(Model.MainAddressPartialView)
    </div>
    <div id="tabs-3" class="tabs-windows">
        Mailing Address
    </div>
</div>
</body>
</html>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26703090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档