原生js实现表格循环滚动


Posted in Javascript onNovember 24, 2020

本文实例为大家分享了js实现表格循环滚动的具体代码,供大家参考,具体内容如下

css

table{width: 500px;border: 1px solid gray;border-collapse: collapse;}
th,td{line-height: 35px;border: 1px solid gray;text-align: center;width: 120px;}
.scroll-box{height: 280px;width: 500px;overflow: hidden;position: relative;}
.tab-scroll{position: absolute;left: 0;top: 0;border-top: none;}
.tab-scroll td{border-top: none;}

html布局

<table class="top">
 <thead>
 <tr>
 <th>ID</th>
 <th>姓名</th>
 <th>年龄</th>
 <th>住址</th>
 </tr>
 </thead>
 </table>
 <div class="scroll-box">
 <table class="tab-scroll">
 <tbody>
 <tr>
 <td>1001</td>
 <td>李四</td>
 <td>AAAA</td>
 <td>AAAA</td>
 </tr>
 <tr>
 <td>1002</td>
 <td>王五</td>
 <td>AAAA</td>
 <td>AAAA</td>
 </tr>
 <tr>
 <td>1003</td>
 <td>王五</td>
 <td>AAAA</td>
 <td>AAAA</td>
 </tr>
 <tr>
 <td>1004</td>
 <td>Jack</td>
 <td>AAAA</td>
 <td>AAAA</td>
 </tr>
 <tr>
 <td>1005</td>
 <td>小兰</td>
 <td>AAAA</td>
 <td>AAAA</td>
 </tr>
 <tr>
 <td>1006</td>
 <td>王五</td>
 <td>AAAA</td>
 <td>AAAA</td>
 </tr>
 <tr>
 <td>1007</td>
 <td>王五</td>
 <td>AAAA</td>
 <td>AAAA</td>
 </tr>
 <tr>
 <td>1008</td>
 <td>Jack</td>
 <td>AAAA</td>
 <td>AAAA</td>
 </tr>
 <tr>
 <td>1009</td>
 <td>小兰</td>
 <td>AAAA</td>
 <td>AAAA</td>
 </tr>
 </tbody>
 </table>
</div>

js代码

var sTab = document.getElementsByClassName('tab-scroll')[0];//要滚动的表
 var tbody = sTab.getElementsByTagName('tbody')[0];//要滚动表格的内容
 sTab.appendChild(tbody.cloneNode(true));//追加一次滚动内容,以防滚动后可视区域无内容
 var speed = sTab.getElementsByTagName('td')[0].offsetHeight+3;//每次滚动的距离
 var tbdh = tbody.offsetHeight+1;//整个表的高度,是因为上边的边不算滚动
 
 function scrollTop() {
 var t = sTab.offsetTop;//获取要滚动表的位置
 if (-tbdh == t) {//比较 滚动的距离等于整个表的高度 即第一个表完全看不见
 sTab.style.transition = '0s';//过渡动画设为0秒
 sTab.style.top = 0;//位置设为初始位置
 scrollTop();//因为偷梁换柱消耗了一次过程,所以把这一次过程补回来
 }else{
 sTab.style.transition = '1s';
 sTab.style.top = t - speed + 'px';
 }
 }
setInterval(scrollTop, 1000);

解析思路图

原生js实现表格循环滚动

然后滚动....

原生js实现表格循环滚动

 偷偷改到初始的位置(也就是:不用过渡动画把top改为0,改后恢复正常过渡动画滚动)

原生js实现表格循环滚动

一些轮播图也可以用这个思路(我才不会告诉你,,其实这个思路就是从轮播图得来的),想看轮播图思路的把上面思路图转动90°就OK了

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

Javascript 相关文章推荐
通过jquery还原含有rowspan、colspan的table的实现方法
Feb 10 Javascript
jquery单行文字向上滚动效果示例
Mar 06 Javascript
通过$(this)使用jQuery包装后的方法或属性
May 18 Javascript
JS获取年月日时分秒的方法分析
Nov 28 Javascript
微信小程序template模板实例详解
Oct 27 Javascript
搭建element-ui的Vue前端工程操作实例
Feb 23 Javascript
Koa项目搭建过程详细记录
Apr 12 Javascript
详解javascript 正则表达式之分组与前瞻匹配
May 30 Javascript
vue中使用element-ui进行表单验证的实例代码
Jun 22 Javascript
vue开发环境配置跨域的方法步骤
Jan 16 Javascript
深入理解webpack process.env.NODE_ENV配置
Feb 23 Javascript
vant 中van-list的用法说明
Nov 11 Javascript
浅析VUE防抖与节流
Nov 24 #Vue.js
解决vue页面刷新,数据丢失的问题
Nov 24 #Vue.js
Js利用正则表达式去除字符串的中括号
Nov 23 #Javascript
jQuery实现动态操作table行
Nov 23 #jQuery
JavaScript前后端JSON使用方法教程
Nov 23 #Javascript
微信小程序实现简单的select下拉框
Nov 23 #Javascript
记录一次websocket封装的过程
Nov 23 #Javascript
You might like
怎样在UNIX系统下安装php3
2006/10/09 PHP
pw的一个放后门的方法分析
2007/10/08 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
vue cli3.0结合echarts3.0与地图的使用方法示例
2019/03/26 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
2020/11/07 Javascript
python3实现网络爬虫之BeautifulSoup使用详解
2018/12/19 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
三年级语文教学反思
2014/02/01 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
收费员岗位职责
2015/02/14 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
学生病假条范文
2015/08/17 职场文书
2016教师节感恩话语
2015/12/09 职场文书
MySQL数据库⾼可⽤HA实现小结
2022/01/22 MySQL