原生js實(shí)現(xiàn)表格循環(huán)滾動
本文實(shí)例為大家分享了js實(shí)現(xiàn)表格循環(huán)滾動的具體代碼,供大家參考,具體內(nèi)容如下
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];//要滾動表格的內(nèi)容 sTab.appendChild(tbody.cloneNode(true));//追加一次滾動內(nèi)容,以防滾動后可視區(qū)域無內(nèi)容 var speed = sTab.getElementsByTagName('td')[0].offsetHeight+3;//每次滾動的距離 var tbdh = tbody.offsetHeight+1;//整個表的高度,是因?yàn)樯线叺倪叢凰銤L動 function scrollTop() { var t = sTab.offsetTop;//獲取要滾動表的位置 if (-tbdh == t) {//比較 滾動的距離等于整個表的高度 即第一個表完全看不見 sTab.style.transition = '0s';//過渡動畫設(shè)為0秒 sTab.style.top = 0;//位置設(shè)為初始位置 scrollTop();//因?yàn)橥盗簱Q柱消耗了一次過程,所以把這一次過程補(bǔ)回來 }else{ sTab.style.transition = '1s'; sTab.style.top = t - speed + 'px'; } } setInterval(scrollTop, 1000);
解析思路圖
然后滾動....
偷偷改到初始的位置(也就是:不用過渡動畫把top改為0,改后恢復(fù)正常過渡動畫滾動)
一些輪播圖也可以用這個思路(我才不會告訴你,,其實(shí)這個思路就是從輪播圖得來的),想看輪播圖思路的把上面思路圖轉(zhuǎn)動90°就OK了
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
70+漂亮且極具親和力的導(dǎo)航菜單設(shè)計國外網(wǎng)站推薦
網(wǎng)站可用性是任何網(wǎng)站的基本要素,而可用的導(dǎo)航更是網(wǎng)站所必需的要素之一。導(dǎo)航?jīng)Q定了用戶如何與網(wǎng)站進(jìn)行交互。如果沒有了可用的導(dǎo)航,那么網(wǎng)站內(nèi)容就會變得毫無用處。2011-09-09環(huán)形加載進(jìn)度條封裝(Vue插件版和原生js版)
這篇文章主要為大家詳細(xì)介紹了環(huán)形加載進(jìn)度條封裝,Vue插件版,原生js版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-12-12javascript中的綁定與解綁函數(shù)應(yīng)用示例
本文為大家詳細(xì)介紹下javascript中綁定與解綁函數(shù)在Ie及Mozilla中的應(yīng)用,感興趣的各位可以參考下哈,希望對大家有所幫助2013-06-06JavaScript基于面向?qū)ο髮?shí)現(xiàn)的無縫滾動輪播示例
這篇文章主要介紹了JavaScript基于面向?qū)ο髮?shí)現(xiàn)的無縫滾動輪播,結(jié)合實(shí)例形式分析了JavaScript面向?qū)ο髮?shí)現(xiàn)的無縫滾動輪播相關(guān)對象定義、初始化及功能實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-01-01JavaScript利用Date實(shí)現(xiàn)簡單的倒計時實(shí)例
在日常開發(fā)的時候經(jīng)常遇到關(guān)于倒計時的需求,下面這篇文章就給主要介紹了JavaScript利用Date實(shí)現(xiàn)倒計時效果的方法示例,文中主要實(shí)現(xiàn)了倒計時和倒計時結(jié)束搶購的按鈕才可以被點(diǎn)擊的效果,有需要的朋友可以參考借鑒。2017-01-01