目录
- 表格自滚动效果图
- 实现原理
- 具体实现:
表格自滚动效果图
实现原理
原理:每一次的滚动都是在其setinterval()定时器的作用下,每次将dom.scrolltop++
具体实现:
1、 .html 代码如下:(这里我使用div模拟成table)
<div style="padding: 100px;"> <div class="tabletitlerow"> <div class="tablettitle">name</div> <div class="tablettitle">age</div> <div class="tablettitle">address</div> </div> <div id="parent" class="parent"> <div id="child1" class="child"> <div *ngfor="let data of listofdata;index as i"> <div class="tablebodyrow"> <div class="tabletbody">{{i}}</div> <div class="tabletbody">{{i+10}}</div> <div class="tabletbody">{{i+100}}</div> </div> </div> </div> <div id="child2" class="child"></div> </div> </div>
2、 .css 代码如下:
.qbody { padding: 100px; // 表头层 .tabletitlerow { display: flex; .tablettitle { color: #ffffff; background-color: #1e6fff; height: 64px; font-size: 16px; flex: 1; justify-content: flex-start; text-align: center; line-height: 64px; border: 1px solid #ccc; } } //内容层 .parent { height: 380px; //控制多高处出现滚动条 margin: 0 auto; background: #242424; overflow-y: scroll; .child { /*设置的子盒子高度大于父盒子,产生溢出效果*/ height: auto; div { .tablebodyrow { display: flex; .tabletbody { background: #ffffff; font-size: 16px; flex: 1; justify-content: flex-start; text-align: center; line-height: 64px; border: 1px solid #ccc; div { line-height: 30px; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; } } } } } } }
3、 .js 代码如下:
ngoninit(): void { var parent = document.getelementbyid('parent');//获取dom var child1 = document.getelementbyid('child1');//获取dom var child2 = document.getelementbyid('child2');//获取dom child2.innerhtml = child1.innerhtml; this.mysetinterval=setinterval(function () { if((parent.scrolltop++) == (parent.scrolltop)&&(parent.scrolltop!=0)) { parent.scrolltop = 0; } else { parent.scrolltop++; } }, 50); } mysetinterval//定时器名字 ngondestroy() {//每当 angular 每次销毁指令/组件之前调用并清扫 clearinterval(this.mysetinterval)//关闭循环 }
到此这篇关于angular实现表格自滚动效果的文章就介绍到这了,更多相关angular表格自滚动内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
黄山市民网:https://www.huangshanshimin.com/