2013-02-26 4 views
0

Попытка изменить фоновое изображение страницы при нажатии вкладки с помощью бутстрапа. Мне удалось изменить его на конкретное изображение, но я хочу вытащить фоновое изображение из активного идентификатора табуляции.Bootstrap Tabs - изменить фоновое изображение тела

Любые идеи?

ответ

0

Вы не указали подробно в своем вопросе, поэтому я не совсем уверен в том, что вы пытаетесь выполнить, но, возможно, это помогает.

http://jsfiddle.net/2kDxD/

Подход здесь должен взять href текст атрибута из navlist, слегка изменить текст, , а затем добавить, что измененный текст в тело как класс CSS. Затем установите правила стиля , которые вы хотите для фона тела, например свойства background-image, в классах CSS.

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; 
} 
Смежные вопросы