jquery自动滚动表格
想要做出日志表格自动滚动的样式,百度一下,发现大部分都是通过jQuery和定时器结合去实现的,记下来记下来~
注意点
1.主要通过$obj.css(),改变top(结合position)或者margin-top属性,产生滚动效果。
2.滚动的操作对象主要是tr,因此thead的tr也有可能会受到影响,所以最好在html代码中设置2个table,1个放thead,1个放tbody,滚动操作第2个。
3.需要给table的父级元素或自身设置overflow: hidden;,因为向上滚动的部分并不是消失了,而是溢出了原来的位置,将溢出部分隐藏。
我的项目主要采用了angular的ng-zorro组件库内容,表格使用nz-table做数据展示,因为是封装好的样式,nz-table实际上是nz-table和div和table等标签的嵌套,因此在设置id、class等标签属性时需注意是否设置了正确的对象。
ts代码:
startScroll() {const $this = $('#mtb'); // table或者tablebox的id$this.hover(() => {clearInterval(this.scrollTimer);}, () => {this.scrollTimer = setInterval(() => {this.autoScroll($this);}, 2000);}).trigger('mouseleave');}autoScroll(obj) {const $self = obj.find('table');const outerHeight = $self.find('tr:first').height();// 改变table的margin-top,定时将第一行tr挪至(列表)最后$self.animate({'marginTop': -outerHeight + 'px'}, 1000, () => {$self.css({margin: 0}).find('tr:first').appendTo($self);});}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!