【问题标题】:Change column width on click in bootstrap 3在引导程序 3 中单击时更改列宽
【发布时间】:2015-10-21 00:28:30
【问题描述】:

侧边栏点击时如何切换一栏的大小?

我正在开发一个应用程序,其中一列中有地图,右侧的第二列显示信息。激活时有一个从右侧滑入的侧边栏。

侧边栏展开时,带有地图的主列是col-lg-6,右边的列是col-lg-4

现在,当通过单击按钮关闭侧边栏时,我想映射列以切换到 col-lg-8。有没有办法做到这一点?

页面和侧边栏代码:

<div id="container">
  <div id="sidebar">
    <div class="sidebar-wrapper">
      <div class="panel panel-default" id="features">
        <div class="panel-heading">
          <h3 class="panel-title">Projects
          <button type="button" class="btn btn-xs btn-default pull-right" id="sidebar-hide-btn"><i class="fa fa-chevron-left"></i></button></h3>
        </div>
        <div class="panel-body">
          <div class="row">
            <div class="col-xs-8 col-md-8">
              <input type="text" class="form-control search" placeholder="Filter" />
            </div>
            <div class="col-xs-4 col-md-4">
              <button type="button" class="btn btn-primary pull-right sort" data-sort="feature-name" id="sort-btn"><i class="fa fa-sort"></i>&nbsp;&nbsp;Sort</button>
            </div>
          </div>
        </div>
        <div class="sidebar-table">
          <table class="table table-hover" id="feature-list">
            <thead class="hidden">
              <tr>
                <th>Icon</th>
              <tr>
              <tr>
                <th>Name</th>
              <tr>
              <tr>
                <th>Chevron</th>
              <tr>
            </thead>
            <tbody class="list"></tbody>
          </table>
        </div>
      </div>
    </div>
  </div>

    <div class="row" style="margin-left:0px;">
    <div class="col-xs-12 col-sm-6 col-lg-6" style="padding:0;">
        <div id="map"></div>
    </div>
    <div class="col-xs-6 col-lg-4" style="padding-top:0px">
        <div class="row">
            <div class="col-xs-12 col-lg-12" style="padding-top:0px; padding-left:0; padding-right:0;">
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <i class="fa fa-bar-chart fa-2x"></i>
                        </div>
                    <div class="panel-body" style="text-align:center">
                        <div id="chart"></div>
                    </div>
                </div>
            </div>
        </div>
        <div class="row">
                <div class="col-xs-12 col-lg-12" style="padding-top:0px; padding-left:0; padding-right:0;">
                    <div class="panel panel-default">
                        <div class="panel-heading">
                            <i class="fa fa-list fa-2x"></i>
                        </div>
                    <div class="panel-body" style="text-align:left">
                        <div id="projects"></div>
                    </div>
                    </div>
                </div>
        </div>
        </div>

    </div>
    </div>
</div>

侧边栏和菜单按钮的激活代码:

$(window).resize(function () {
var h = $(window).height(),
    offsetTop = 50; // Calculate the top offset
$('#map').css('height', (h - offsetTop));
}).resize();

$("#list-btn").click(function() {
 $('#sidebar').toggle();
  map.invalidateSize();
  return false;
});

$("#sidebar-toggle-btn").click(function() {
  $("#sidebar").toggle();
  map.invalidateSize();
  return false;
});

$("#sidebar-hide-btn").click(function() {
  $('#sidebar').hide();
  map.invalidateSize();
});

编辑

我尝试过使用 toggleClass 和 addClass/removeClass 但它不起作用。这是一个 jsfiddle,用于显示隐藏侧边栏时会发生什么。

http://jsfiddle.net/Monduiz/dzo5yg72/

【问题讨论】:

标签: javascript html css twitter-bootstrap


【解决方案1】:

试试这种技巧:

$("#sidebar-hide-btn").click(function() {
    $('#sidebar').hide();
    $('#mapDiv').removeClass('col-lg-6');
    $('#mapDiv').addClass('col-lg-8');
});

【讨论】:

  • 我尝试了 removeClass/addClass 和 toggleClass 但它不起作用。地图被推向左边的窄条。我曾尝试在控制台中编辑 css,但在单击隐藏侧边栏按钮后,我无法将地图 div 调整为 col-lag-8。它应该可以工作,但我不知道为什么它不工作。
  • 你有演示链接吗?
  • 对不起,我的代码 1 错误,我在这里错过了结束逗号 $('#mapDiv)。请解决这个问题,然后重试...
  • om,很好,我发现并修改了它。我会尝试举一个例子,但由于某种原因,jsfiddle 给我带来了引导问题。
  • 请查看链接并点击按钮:design.codeniques.com/quicklegal/test.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-11
  • 1970-01-01
  • 2016-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
相关资源
最近更新 更多