Angular8 实现table表格表头固定效果


Posted in Javascript onJanuary 03, 2020

最近项目中有个需求,表头固定,内部实现滚动条。除了单个表头,还有多个表头的情况(下一篇中介绍)。

效果图:

Angular8 实现table表格表头固定效果

html 结构

Angular8 实现table表格表头固定效果

按区域划分可以分为三个大部分,一共是通过4个table 组合成一个整体的table。
然后通过 col 属性去设定列的宽度,注意:这里的宽度必须要设置为固定值。
表头过滤功能暂时未实现。

Angular8 实现table表格表头固定效果

水平滚动效果与垂直滚动效果

监听主体table(浅绿色部分)滚动事件,同步上下滚动头部的table (深绿色部分)和 左右滚动左侧固定的table(红色部分中的紫色部分)

代码 1

$(this.tableContent.nativeElement).on('scroll', (e) => {
   $(this.fixedRowWrapper.nativeElement).prop('scrollTop', $(this.tableContent.nativeElement).prop('scrollTop'));
   //方式一 :设置头部固定列table 的滚动条,需要配合less 样式隐藏滚动条(如果不考虑ie9的兼容性,可以使用。less样式参考代码2)
   // $(this.tableHeader.nativeElement).prop('scrollLeft', $(this.tableContent.nativeElement).prop('scrollLeft'))
   // 方式二:设置头部固定列table 的margin-left 属性为负值,间接实现了头部固定的列同步向左滚动效果,兼容ie9
   $(this.tableHeader.nativeElement).css({ marginLeft: `${-$(this.tableContent.nativeElement).prop('scrollLeft')}px` })
  })

代码 2

.ngx-table__header-inner {
      // 隐藏滚动条,页面div 保持横向滚动,但是不支持ie9 ,为了兼容性所以没有使用,ts 中同步滚动
      // 而是动态设置 ngx-table__header-inner 的margin-left 实现滚动效果
      overflow: -moz-scrollbars-none;
      overflow-x: auto;
     -ms-overflow-style: none;

      &::-webkit-scrollbar {
       width: 0 !important;
       display: none;
     }
    }

完整代码地址

github项目地址,需要的可以点击访问 https://github.com/zjinger/ngx-TPR/tree/master/src/app/components/scroll-table

总结

以上所述是小编给大家介绍的Angular8 实现table表格表头固定效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
Jquery AJAX 用于计算点击率(统计)
Jun 30 Javascript
js动画(animate)简单引擎代码示例
Dec 04 Javascript
jquery实现的淡入淡出下拉菜单效果
Aug 25 Javascript
JavaScript匿名函数之模仿块级作用域
Dec 12 Javascript
jQuery实现的倒计时效果实例小结
Apr 16 Javascript
浅析Bootstrap缩略图组件与警示框组件
Apr 29 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
Jun 02 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
Nov 28 Javascript
详解jQuery中关于Ajax的几个常用的函数
Jul 17 jQuery
webpack配置导致字体图标无法显示的解决方法
Mar 06 Javascript
vue input标签通用指令校验的实现
Nov 05 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
Nov 11 Javascript
uni-app 支持多端第三方地图定位的方法
Jan 03 #Javascript
Vue 实现登录界面验证码功能
Jan 03 #Javascript
JS实现扫码枪扫描二维码功能
Jan 03 #Javascript
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
Jan 03 #Javascript
uni-app如何实现增量更新功能
Jan 03 #Javascript
JS实现简单日历特效
Jan 03 #Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
Jan 02 #Javascript
You might like
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
php生成图片验证码-附五种验证码
2015/08/19 PHP
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
AngularJS路由切换实现方法分析
2017/03/17 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
2017/04/21 Javascript
详解用node-images 打造简易图片服务器
2017/05/08 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
js实现简单点赞操作
2020/03/17 Javascript
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
python 排列组合之itertools
2013/03/20 Python
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
python实现在无须过多援引的情况下创建字典的方法
2014/09/25 Python
python代码 if not x: 和 if x is not None: 和 if not x is None:使用介绍
2016/09/21 Python
Python时间获取及转换知识汇总
2017/01/11 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python反射用法实例简析
2017/12/22 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
What is view? why do we have view?
2012/06/22 面试题
酒店管理专业毕业生推荐信
2013/11/10 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
《与朱元思书》的教学反思
2014/04/17 职场文书
2014高中生入党思想汇报范文
2014/09/13 职场文书
小学生表扬稿范文
2015/05/05 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书
Python几种酷炫的进度条的方式
2022/04/11 Python