bootstrap table列和表头对不齐的解决方法


Posted in Javascript onJuly 19, 2019

我们在使用bootstraptable做表格展示时,有时需要固定表格的高度当数据超出高度会出现滚动条,这时有可能出现表头列和数据列对不齐。出现这个问题的原因是数据列出现了滚动条占了宽度,造成表头 数据 的div宽度不一样。

通过Chrome浏览器 f12,看到样式为 .fixed-table-header  .fixed-table-body .fixed-table-footer的3个div容器宽度不一样, .fixed-table-header  .fixed-table-footer这两个div没有滚动条。

解决方法:

bootstraptable在渲染完列表时会执行onPostBody事件,代码如下。

$('#dataGrid').bootstrapTable({ 
 method: 'post', 
 url: 'http://www.itxst.com/?ajax', 
 dataType: "json", 
 striped: true, //隔行变色 
 pagination: true, //底部显示分页码
 pageSize: 30, //每页显示行数
 pageNumber: 1, //页码
 pageList: [30, 50, 100, 200, 500], //每页显示数量选择器
 idField: "objectId", //主键字段 
 showColumns: true, //显示隐藏列 
 showRefresh: true, //刷新按钮 
 singleSelect: true, 
 search: false, 
 clickToSelect: true, 
 sidePagination: "server", 
 queryParams: queryParams, 
 queryParamsType: "limit", 
 toolbar: "#toolbar", //设置工具栏的Id 
 columns: column, //要显示的列
 silent: true, //刷新事件必须设置 
 formatLoadingMessage: function () { 
 return "it小书童正在加载中..."; 
 }, 
 formatNoMatches: function () { 
 return '未查询到结果'; 
 }, 
 onLoadError: function (data) { 
 
 }, 
 onClickRow: function (row) { 
 window.location.href = "/detail?id=" + row.objectId; 
 }, 
 onPostBody:function()
 {
 //重点就在这里,获取渲染后的数据列td的宽度赋值给对应头部的th,这样就表头和列就对齐了
 var header=$(".fixed-table-header table thead tr th");
 var body=$(".fixed-table-header table tbody tr td");
 var footer=$(".fixed-table-header table tr td");
 body.each(function(){
 header.width((this).width());
 footer.width((this).width());
 });
 }
});

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Node.js(安装,启动,测试)
Jun 09 Javascript
jQuery判断一个元素是否可见的方法
Jun 05 Javascript
js密码强度校验
Nov 10 Javascript
深入学习jQuery Validate表单验证
Jan 18 Javascript
jQuery实现摸拟alert提示框
May 22 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
Jun 12 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
Sep 21 Javascript
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
Dec 15 Javascript
详解用node.js实现简单的反向代理
Jun 26 Javascript
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
Aug 16 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
Jan 04 Javascript
vue-openlayers实现地图坐标弹框效果
Sep 24 Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 #Javascript
更强大的vue ssr实现预取数据的方式
Jul 19 #Javascript
bootstrap table.js动态填充单元格数据的多种方法
Jul 18 #Javascript
bootstrap table实现横向合并与纵向合并
Jul 18 #Javascript
微信小程序判断用户是否需要再次授权获取个人信息
Jul 18 #Javascript
Vue动态生成表格的行和列
Jul 18 #Javascript
vue通过数据过滤实现表格合并
Nov 30 #Javascript
You might like
Mysql中limit的用法方法详解与注意事项
2008/04/19 PHP
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
详解webpack3编译兼容IE8的正确姿势
2017/12/21 Javascript
angular.js和vue.js中实现函数去抖示例(debounce)
2018/01/18 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
vue.js表单验证插件(vee-validate)的使用教程详解
2019/05/23 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
2019/09/30 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
Vue实现点击导航栏当前标签后变色功能
2020/08/19 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
Django框架视图层URL映射与反向解析实例分析
2019/07/29 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
Python中常用的os操作汇总
2020/11/05 Python
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
.NET概念性的面试题
2012/02/29 面试题
标准的毕业生自荐信
2014/04/20 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android