jquery實(shí)現(xiàn)表格無(wú)縫滾動(dòng)
本文實(shí)例為大家分享了jquery實(shí)現(xiàn)表格無(wú)縫滾動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
css部分我是用的彈性布局
*{
margin:0;
padding:0;
}
ul,li{
list-style:none;
}
.tableBox{
width:500px;
height:520px;
background:#e8e8e8;
margin:0 auto;
overflow:hidden;
}
.slide-title{
height:2.5rem;
line-height:2.5rem;
display:flex;
background:#223e80;
color:#fff;
text-align:center;
}
.slide-title span{
flex:1;
}
.slide-list li{
line-height:1.875rem;
height:1.875rem;
display:flex;
}
.slide-list li span{
flex:1;
text-align:center;
}
.slide-list li.odd{
background:rgba(0,0,0,.3)
}
結(jié)構(gòu)部分
<div class="tableBox">
<div class="slide-title">
<span>title1</span>
<span>title2</span>
<span>title3</span>
</div>
<div class="slide-container">
<ul class="slide-list js-slide-list">
<li class="odd"><span>item1</span><span>item1</span><span>item1</span></li>
<li class="even"><span>item2</span><span>item2</span><span>item2</span></li>
<li class="odd"><span>item3</span><span>item3</span><span>item3</span></li>
<li class="even"><span>item4</span><span>item2</span><span>item2</span></li>
<li class="odd"><span>item5</span><span>item3</span><span>item3</span></li>
<li class="even"><span>item6</span><span>item2</span><span>item2</span></li>
<li class="odd"><span>item7</span><span>item3</span><span>item3</span></li>
<li class="even"><span>item8</span><span>item2</span><span>item2</span></li>
<li class="odd"><span>item9</span><span>item3</span><span>item3</span></li>
<li class="even"><span>item10</span><span>item2</span><span>item2</span></li>
<li class="odd"><span>item11</span><span>item3</span><span>item3</span></li>
<li class="even"><span>item12</span><span>item2</span><span>item2</span></li>
<li class="odd"><span>item13</span><span>item3</span><span>item3</span></li>
<li class="even"><span>item14</span><span>item2</span><span>item2</span></li>
<li class="odd"><span>item15</span><span>item3</span><span>item3</span></li>
<li class="even"><span>item16</span><span>item2</span><span>item2</span></li>
</ul>
</div>
</div>
最后就是關(guān)鍵部分,js部分
鼠標(biāo)滑過(guò)時(shí)清除定時(shí)器的寫法
$(function(){
//鼠標(biāo)滑過(guò)時(shí)清除定時(shí)器
$(".slide-list").hover(function(){
clearInterval(scrollTimer);
},function(){
scrollTimer=setInterval(function (){
autoScroll(".slide-list")
},2000);
});
function autoScroll(obj){
var tableUl = $(obj);
var first = tableUl.find('li:first');
var height = first.height();
first.animate({
height:0
},500,function(){
first.css('height',height).appendTo(tableUl);
})
}
var scrollTimer = setInterval(function(){
autoScroll(".slide-list")
},2000)
})
2、鼠標(biāo)滑過(guò)時(shí)不清除定時(shí)器
$(function(){
function autoScroll(obj){
var tableUl = $(obj);
var first = tableUl.find('li:first');
var height = first.height();
first.animate({
height:0
},500,function(){
first.css('height',height).appendTo(tableUl);
})
}
setInterval(function(){
autoScroll(".slide-list")
},2000)
})
實(shí)現(xiàn)的效果:

接口輪詢調(diào)用的時(shí)候踩了一個(gè)坑,如果換成接口調(diào)用,一定要記得加上有沒(méi)有定時(shí)器的判斷
if(timer != null) {
clearInterval(timer);
}
完整的代碼如下
$(function(){
var allUrl = "http://localhost:8899/tv/alldata";
renderPage ();
var timer = setInterval(function(){
renderPage ()
},5000);
if(timer != null) {
clearInterval(timer);
}
function renderPage () {
console.log(111);
$.ajax({
url:allUrl,
async:true,
success:function(result){
console.log(result);
if(result.success === true){
console.log('數(shù)據(jù)',result.data);
var niujuOneData = result.data.counts[0].tvmTvToolUsageCount;
var niujuTwoData = result.data.counts[1].tvmTvToolUsageCount;
var niujuThreeData = result.data.counts[2].tvmTvToolUsageCount;
var niujuFourData = result.data.counts[3].tvmTvToolUsageCount;
var recordTableData = result.data.history;
var useTableOneData = result.data.usage.needCheckTools;
var useTableTwoData = result.data.usage.expireCheckTools;
var useTableThreeData = result.data.usage.usingTools;
console.log('數(shù)據(jù)1',niujuOneData)
renderNiuju ('#banshouOne','#otherOne','#totalOne',niujuOneData);
renderNiuju ('#banshouTwo','#otherTwo','#totalTwo',niujuTwoData);
renderNiuju ('#banshouThree','#otherThree','#totalThree',niujuThreeData);
renderNiuju ('#banshouFour','#otherFour','#totalFour',niujuFourData);
renderRecordTable ('#tvTableFour',recordTableData);
renderUseStateTable ('#tvTableOne',useTableOneData);
renderUseStateTable ('#tvTableTwo',useTableTwoData);
renderUseStateTable ('#tvTableThree',useTableThreeData);
}
}
});
};
/**
* 扭矩間數(shù)據(jù)渲染函數(shù)
*/
function renderNiuju (obj1,obj2,obj3,tableData) {
var niujuWrenchString = '<div class="tq-niuju-title-item blue">'+tableData.torqueToolTotalCount+'</div>' +
'<div class="tq-niuju-title-item purple">'+tableData.torqueToolUsingCount+'</div>' +
'<div class="tq-niuju-title-item green">'+tableData.torqueToolAvailableCount+'</div>' +
'<div class="tq-niuju-title-item red">'+tableData.torqueToolNeedCheckCount+'</div>'
var orderToolString = '<div class="tq-niuju-title-item blue">'+tableData.otherToolTotalCount+'</div>' +
'<div class="tq-niuju-title-item purple">'+tableData.otherToolUsingCount+'</div>' +
'<div class="tq-niuju-title-item green">'+tableData.otherToolAvailableCount+'</div>' +
'<div class="tq-niuju-title-item red">'+tableData.otherToolNeedCheckCount+'</div>'
var toolTotalString = '<div class="tq-niuju-title-item blue">'+tableData.totalToolCount+'</div>' +
'<div class="tq-niuju-title-item purple">'+tableData.totalToolUsingCount+'</div>' +
'<div class="tq-niuju-title-item green">'+tableData.totalToolAvailableCount+'</div>' +
'<div class="tq-niuju-title-item red">'+tableData.totalToolNeedCheckCount+'</div>'
$(obj1).html(niujuWrenchString)
$(obj2).html(orderToolString)
$(obj3).html(toolTotalString)
}
/**
*操作記錄表格渲染函數(shù)
*/
function renderRecordTable (obj,tableData){
var tableString = '';
$.each(tableData,function(index,value){
if(index % 2 == 0){
tableString += ' <li class="odd">'+
'<div class="tq-des">'+value.content+'</div>'+
'<div class="tq-time">'+value.createTime+'</div>'+
'</li>'
}else{
tableString += ' <li class="even">'+
'<div class="tq-des">'+value.content+'</div>'+
'<div class="tq-time">'+value.createTime+'</div>'+
'</li>'
}
});
$(obj).empty();
$(obj).html(tableString);
}
function renderUseStateTable (obj,tableData){
var tableString = '';
$.each(tableData,function(index,value){
if(index % 2 == 0){
tableString += '<li class="odd">'+
'<span>'+value.totalPositionEncoding+'</span><span>'+value.toolCode+'</span>'+
'</li>'
}else{
tableString += '<li class="even">'+
'<span>'+value.totalPositionEncoding+'</span><span>'+value.toolCode+'</span>'+
'</li>'
}
})
$(obj).html(tableString);
}
setInterval(function(){
autoScroll("#tvTableOne")
autoScroll("#tvTableTwo")
autoScroll("#tvTableThree")
autoScroll("#tvTableFour")
},2000)
function autoScroll(obj){
var tableUl = $(obj);
var first = tableUl.find('li:first');
var height = first.height();
first.animate({
height:0
},500,function(){
first.css('height',height).appendTo(tableUl);
})
}
});
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Jquery原生態(tài)實(shí)現(xiàn)表格header頭隨滾動(dòng)條滾動(dòng)而滾動(dòng)
- asp.net+jquery滾動(dòng)滾動(dòng)條加載數(shù)據(jù)的下拉控件
- jquery滾動(dòng)組件(vticker.js)實(shí)現(xiàn)頁(yè)面動(dòng)態(tài)數(shù)據(jù)的滾動(dòng)效果
- 基于jquery實(shí)現(xiàn)頁(yè)面滾動(dòng)到底自動(dòng)加載數(shù)據(jù)的功能
- js/jquery控制頁(yè)面動(dòng)態(tài)加載數(shù)據(jù) 滑動(dòng)滾動(dòng)條自動(dòng)加載事件的方法
- jquery滾動(dòng)加載數(shù)據(jù)的方法
- 使用jQuery或者原生js實(shí)現(xiàn)鼠標(biāo)滾動(dòng)加載頁(yè)面新數(shù)據(jù)
- Jquery公告滾動(dòng)+AJAX后臺(tái)得到數(shù)據(jù)
- 拉動(dòng)滾動(dòng)條加載數(shù)據(jù)的jquery代碼
- jQuery實(shí)現(xiàn)表格行數(shù)據(jù)滾動(dòng)效果
相關(guān)文章
jquery判斷復(fù)選框選中狀態(tài)以及區(qū)分attr和prop
這篇文章主要介紹了jquery判斷復(fù)選框選中狀態(tài)以及區(qū)分attr和prop,感興趣的小伙伴們可以參考一下2015-12-12
JQuery+CSS實(shí)現(xiàn)圖片上放置按鈕的方法
這篇文章主要介紹了JQuery+CSS實(shí)現(xiàn)圖片上放置按鈕的方法,涉及jQuery鼠標(biāo)事件及頁(yè)面樣式的相關(guān)技巧,需要的朋友可以參考下2015-05-05
基于jQuery的固定表格頭部的代碼(IE6,7,8測(cè)試通過(guò))
目前只能算個(gè)不完整的腳本,不過(guò)一般的僅僅需要表頭凍結(jié)就可以使用了2010-05-05
jQuery層動(dòng)畫定位滑動(dòng)效果的方法
這篇文章主要介紹了jQuery層動(dòng)畫定位滑動(dòng)效果的方法,涉及jQuery中animate方法的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
jQuery模擬360瀏覽器切屏效果幻燈片(附demo源碼下載)
這篇文章主要介紹了jQuery模擬360瀏覽器切屏效果幻燈片,涉及jQuery響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素樣式的相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-01-01
基于jquery實(shí)現(xiàn)的鼠標(biāo)懸停提示案例
本文主要介紹了基于jquery實(shí)現(xiàn)的鼠標(biāo)懸停提示的詳細(xì)案例。代碼全面,功能實(shí)用,需要的朋友可以參考借鑒2016-12-12
jQuery實(shí)現(xiàn)跟隨鼠標(biāo)運(yùn)動(dòng)圖層效果的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)跟隨鼠標(biāo)運(yùn)動(dòng)圖層效果的方法,可實(shí)現(xiàn)實(shí)時(shí)顯示鼠標(biāo)坐標(biāo)的圖層跟隨鼠標(biāo)運(yùn)動(dòng)的效果,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02
如何書寫高質(zhì)量jQuery代碼(使用jquery性能問(wèn)題)
眾所周知,jQuery現(xiàn)在已經(jīng)非常流行,百度新首頁(yè)中也已經(jīng)開始使用jQuery,今天總結(jié)下怎么書寫更好的jQuery代碼使jQuery代碼更好、更快的執(zhí)行,希望本篇jQuery教程一改大家以前不合理的做法2014-06-06

