HTML Table 列表滾動
阿新 • • 發佈:2019-01-09
專案需求:從伺服器獲得資料在前臺填充到Table
前端UI框架 layui http://www.layui.com/
用了layui的資料表格程式碼。
生成Table後前端簡略結構如下
//html 結構 使tr內容進行滾動
<div class="divWarning">
<div class="layui-table">
<table>
<tbody>
<tr></tr>
。
。資訊滾動
。
<tr></tr>
</tbody>
</table>
</div>
</div>
divWarning 是用來定位填充的資料表格,因為頁面上也不止一個表格,而表格是layui生成的,所以需在外面巢狀一個div
//js程式碼
$(function () {
var $this = $(".divWarning"); //獲取 divWarning (用來定位需要滾動的列表) 由於我生成的表格是使用layui框架生成的,所以需要在table外面巢狀一個div
var scrollTimer;
$this.hover(function () {
clearInterval(scrollTimer); //清除滾動
}, function () {
scrollTimer = setInterval(function () {
scrollNews($this);
}, 2000); //每條列表之間滾動的間隔請改此處數字,數值越大,間隔越長
}).trigger("mouseout");
});
function scrollNews(obj) {
var $layuitable = obj.find(".layui-table:last"); //定位滾動的dom
var lineHeight = 38;//因為行高是38px (列表內容高38px)
$layuitable.animate({
"margin-top" : -lineHeight + "px" //向上移動
}, 3000, function () { //每條新聞從出現到消失的時間請改此處數字,數值越小,消失的越快
$layuitable.css({
"margin-top": "0px" //移動到設定高度後更改最高的位置,獲取第一行tr追加到tbody最後
}).find("tr:first").appendTo(obj.find("tbody:first"));
});
}