原生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 相关文章推荐
关于IE中getElementsByClassName不能用的问题解决方法
Aug 26 Javascript
window.onresize 多次触发的解决方法
Nov 08 Javascript
js opener的使用详解
Jan 11 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
Jun 03 Javascript
JS实现点击网页判断是否安装app并打开否则跳转app store
Nov 18 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
May 08 jQuery
详解webpack异步加载业务模块
Jun 23 Javascript
JavaScript中的事件与异常捕获详析
Feb 24 Javascript
Vue组件通信中非父子组件传值知识点总结
Dec 05 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
Aug 03 Javascript
使用Vant完成DatetimePicker 日期的选择器操作
Nov 12 Javascript
基于vue的video播放器的实现示例
Feb 19 Vue.js
浅析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
如何正确理解PHP的错误信息
2006/10/09 PHP
用PHP实现小型站点广告管理
2006/10/09 PHP
php购物车实现代码
2011/10/10 PHP
wamp安装后自定义配置的方法
2014/08/23 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
php计算税后工资的方法
2015/07/28 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
php时间函数用法分析
2016/05/28 PHP
微信支付开发交易通知实例
2016/07/12 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
JS验证身份证有效性示例
2013/10/11 Javascript
jquery ajax post提交数据乱码
2013/11/05 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
JavaScript获取某一天所在的星期
2019/09/05 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
JS实现图片懒加载(lazyload)过程详解
2020/04/02 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
用python制作游戏外挂
2018/01/04 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
澳大利亚旅游网站:Lastminute
2017/08/07 全球购物
HearthSong官网:儿童户外玩具、儿童益智玩具
2017/10/16 全球购物
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
聊城大学毕业生自荐书
2014/02/01 职场文书
实验教师岗位职责
2014/02/13 职场文书
爱祖国爱家乡演讲稿
2014/09/02 职场文书
文明倡议书
2015/01/19 职场文书
城南旧事电影观后感
2015/06/16 职场文书
创业计划书之电动车企业
2019/10/11 职场文书