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í)器的寫(xiě)法
$(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)的效果:
接口輪詢(xú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)文章
javascript基于jQuery的表格懸停變色/恢復(fù),表格點(diǎn)擊變色/恢復(fù),點(diǎn)擊行選Checkbox
jQuery的表格懸停變色 恢復(fù),表格點(diǎn)擊變色/恢復(fù),點(diǎn)擊行選Checkbox2008-08-08jQuery布局插件UI Layout簡(jiǎn)介及使用方法
UI Layout是一種基于jQuery的布局框架,其核心是一個(gè)大小自適應(yīng)的中心面板,面板的上下左右四個(gè)方向可以放置可折疊、可縮放的面板,感興趣的朋友可以參考下哈2013-04-04jquery中取消和綁定hover事件的實(shí)現(xiàn)代碼
下面小編就為大家?guī)?lái)一篇jquery中取消和綁定hover事件的實(shí)現(xiàn)代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06jQuery文字提示與圖片提示效果實(shí)現(xiàn)方法
這篇文章主要介紹了jQuery文字提示與圖片提示效果實(shí)現(xiàn)方法,涉及jQuery針對(duì)鼠標(biāo)事件的響應(yīng)與頁(yè)面元素動(dòng)態(tài)操作相關(guān)技巧,需要的朋友可以參考下2016-07-07jquery處理checkbox(復(fù)選框)是否被選中實(shí)例代碼
這篇文章主要介紹了jquery處理checkbox(復(fù)選框)是否被選中實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-06-06jQuery加密密碼到cookie的實(shí)現(xiàn)代碼
本文通過(guò)實(shí)例代碼給大家分享了jquery 加密密碼到cookie的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-04-04jquery插件之定時(shí)查詢(xún)待處理任務(wù)數(shù)量
這篇文章主要介紹了jquery定時(shí)查詢(xún)待處理任務(wù)數(shù)量插件示例2014-05-05jQuery的Scrollify插件實(shí)現(xiàn)滑動(dòng)到頁(yè)面下一節(jié)點(diǎn)
這篇文章主要介紹了jQuery的Scrollify插件實(shí)現(xiàn)滑動(dòng)到頁(yè)面下一節(jié)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2015-07-07$.each遍歷對(duì)象、數(shù)組的屬性值并進(jìn)行處理
通過(guò)$.each,可以遍歷對(duì)象、數(shù)組的屬性值并進(jìn)行處理,下面有個(gè)示例,需要的朋友可以參考下2014-07-07