Bootstrap Tabs - 改变身体的背景图像

时间:2013-02-26 21:25:17

标签: twitter-bootstrap tabs background-image

尝试使用引导程序按下选项卡时更改页面的背景图像。我能够将其更改为特定图像,但我想从活动标签ID中提取背景图像。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你的问题没有提供太多细节,所以我不完全确定你想要完成什么,但也许这会有所帮助。

http://jsfiddle.net/2kDxD/

此处的方法是从导航列表中获取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;
}

答案 1 :(得分:0)

请更改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);