使用原生JS怎样做表格循环滚动的效果?
Admin 2021-10-13 群英技术资讯 692 次浏览
今天给大家分享使用原生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);
解析思路图
然后滚动....
偷偷改到初始的位置(也就是:不用过渡动画把top改为0,改后恢复正常过渡动画滚动)
一些轮播图也可以用这个思路,想看轮播图思路的把上面思路图转动90°就OK了
关于原生JS做表格循环滚动的内容就介绍到这,上述代码具有一定的借鉴价值,感兴趣的朋友可以参考学习,希望能对大家有帮助,想要了解更多大家可以关注群英网络其它相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
es6新增加了一个运算符,叫做扩展运算符,这个运算符用在数组前面,会把数组展开变成各个独立的值,这篇文章主要给大家介绍了关于ES6扩展运算符的相关资料,需要的朋友可以参考下
这篇文章主要介绍了详解基于element的区间选择组件校验(交易金额),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要给大家介绍了关于Vue.js源码分析之自定义指令的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
这篇文章主要为大家详细介绍了vue编写简单的购物车功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
JavaScript如何实现一维数组变三维数组?一些朋友对怎么将一维数组转为三维数组比较好奇,其实在JavaScript中实现这个需求比不难,接下来小编就通过一个示例给大家介绍一个实现方法,感兴趣的朋友就继续往下看吧。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008