【问题标题】:Bootstrap Tabs - change background image of bodyBootstrap Tabs - 改变身体的背景图片
【发布时间】:2013-02-26 21:25:17
【问题描述】:

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

有什么想法吗?

【问题讨论】:

    标签: twitter-bootstrap tabs background-image


    【解决方案1】:

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

    http://jsfiddle.net/2kDxD/

    这里的做法是从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;
    }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2012-09-15
        • 2012-12-16
        • 2016-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-03
        相关资源
        最近更新 更多