【发布时间】:2013-02-26 21:25:17
【问题描述】:
尝试在使用引导程序按下选项卡时更改页面的背景图像。我能够将其更改为特定图像,但我想从活动标签 ID 中提取背景图像。
有什么想法吗?
【问题讨论】:
标签: twitter-bootstrap tabs background-image
尝试在使用引导程序按下选项卡时更改页面的背景图像。我能够将其更改为特定图像,但我想从活动标签 ID 中提取背景图像。
有什么想法吗?
【问题讨论】:
标签: twitter-bootstrap tabs background-image
您在问题中没有提供太多细节,所以我不能完全确定您要完成什么,但这也许会有所帮助。
这里的做法是从navlist中取href属性文本,稍微修改一下文本,
然后将修改后的文本作为 CSS 类添加到正文中。然后设置样式规则
您需要 CSS 类中的主体背景,例如 background-image 属性。
HTML
<ul class="nav nav-tabs" id="myNav">
<li class="active"><a href="#home" data-toggle="tab">Home</a></li>
<li><a href="#profile" data-toggle="tab">Profile</a></li>
<li><a href="#messages" data-toggle="tab">Messages</a></li>
<li><a href="#settings" data-toggle="tab">Settings</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane active">
<p>home</p>
</div>
<div id="profile" class="tab-pane">
<p>profile</p>
</div>
<div id="messages" class="tab-pane">
<p>messages</p>
</div>
<div id="settings" class="tab-pane">
<p>settings</p>
</div>
</div>
JavaScript
$('a[data-toggle="tab"]').on('shown', function (e) {
var bodyBgClass = $(this).attr("href").replace("#", "") + "-BgBackground";
$("body").removeClass().addClass(bodyBgClass);
// what is the new class?
console.log(bodyBgClass);
});
// make sure the initial page load activates the tabs
$(function () {
$('#myNav a:first').tab('show');
});
CSS
/* add background image to styles as needed */
.home-BgBackground {
background-color: blue;
color: #fff;
}
.profile-BgBackground {
background-color: yellow;
color: #222;
}
.messages-BgBackground {
background-color: orange;
color: #222;
}
.settings-BgBackground {
background-color: pink;
color: #222;
}
【讨论】:
请修改js代码:
$('li>a[data-toggle="tab"]').on('click', function (e) {
var bodyBgClass = $(this).attr("href").replace("#", "") + "-BgBackground";
$("body").removeClass().addClass(bodyBgClass);
// what is the new class?
console.log(bodyBgClass);
【讨论】: