This article example shares the specific code of jQuery to achieve seamless scrolling of the table for your reference. The specific content is as follows For the css part, I used elastic layout *{ 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) } Structure <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> Finally, the key part, the js part How to clear the timer when the mouse moves over $(function(){ // Clear the timer when the mouse moves over $(".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. The timer is not cleared when the mouse moves over $(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) }) The effect achieved: I stepped on a pit when calling the interface polling. If you change to an interface call, you must remember to add a judgment on whether there is a timer. if(timer != null) { clearInterval(timer); } The complete code is as follows $(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('data',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('data 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); } } }); }; /** * Torque data rendering function */ 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) } /** * Operation record table rendering function */ 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); }) } }); The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: Detailed explanation of referential integrity in SQL (one-to-one, one-to-many, many-to-many)
>>: Detailed explanation of how to install MariaDB 10.2.4 on CentOS7
Nowadays, whether you are on the sofa at home or ...
Preface In actual business, paging is a common bu...
Copy code The code is as follows: <span style=...
Achieve results Implementation Code html <div ...
First and foremost, I am a web designer. To be mor...
Preface View is a very useful database object in ...
Preface The file system is responsible for organi...
Preface Recently, part of the company's busin...
After CentOS 7 is successfully installed, OpenJDK...
1. Introduction to keepalived Keepalived was orig...
Demand background A statistical interface, the fr...
--1. Create a new group and user for mysql # user...
This article records the installation tutorial of...
The difference between http and https is For some...
Table of contents Preface Basic Usage grammar Err...