js實現列表向上無限滾動
阿新 • • 發佈:2020-01-15
本文例項為大家分享了js實現列表向上無限滾動的具體程式碼,供大家參考,具體內容如下
先來一張效果圖
html
<div class="transdata1"> <ul class="tody-table-header2"> <li>商品</li> <li>數量(kg)</li> <li>單價(元)</li> <li>金額(元)</li> </ul> <div id="detetion-box2"> <div id="detetion-con1"> <ul v-for="(item,index) in todayDetetion2" :key="index"> <li>{{item.name}}</li> <li>{{item.amount}}kg</li> <li>{{item.price}}元/kg</li> <li style="color:rgba(0,255,204,1);">{{item.money}}元</li> </ul> </div> <div id="detetion-con2"></div> </div> </div>
js
getData() { var _this = this; this.$axios .get("請求的url") .then(res => { this.todayDetetion2 = res.data.data; this.$nextTick(() => { this.ScrollUp2(); }); }) .catch(err => {}); },ScrollUp2() { var box = document.getElementById("detetion-box2"); var con1 = document.getElementById("detetion-con1"); var con2 = document.getElementById("detetion-con2"); this.speed = 50; if (con1.offsetHeight >= box.offsetHeight) { con2.innerHTML = con1.innerHTML; var timer1 = setInterval(scrol,this.speed); function scrol() { /*判斷滾動內容是否已經滾完,滾完了則滾動的值重新設定到0,否則就每個30默秒向上滾動1px */ if (box.scrollTop >= con1.scrollHeight) { box.scrollTop = 0; } else { box.scrollTop++; } /*判斷滾動的距離剛好為一條公告的高度時停掉定時器,隔1s之後重新啟動計時器即可實現公告滾動停留效果 */ if (box.scrollTop % 25 == 0) { clearInterval(timer1); setTimeout(() => { timer1 = setInterval(scrol,30); },2000); } } } }
css(樣式自己調)
.transdata1 { background: url("../../../static/img/transdata_bg.png") no-repeat center/100% 100%; height: 237px; padding: 36px 28px 16px 20px; box-sizing: border-box; transform: translateY(-12px); } .tody-table-header2 { overflow: hidden; } .tody-table-header2 li { height: 24px; width: 82px; line-height: 24px; list-style: none; float: left; font-size: 13px; margin-right: 48px; font-family: MicrosoftYaHei; color: rgba(127,250,1); text-align: center; background: url("../../../static/img/thead_bg.png") no-repeat center/100%; background-size: 100% 100%; } .tody-table-header2 li:last-child { margin-right: 0; } #detetion-box2 { margin-top: 13px; height: 150px; overflow: hidden; } #detetion-box2 ul { overflow: hidden; border-bottom: 1px solid #0e579c; } #detetion-box2 li { width: 82px; height: 24px; line-height: 24px; float: left; margin-right: 48px; font-size: 12px; color: #fff; } #detetion-box2 ul li:last-child { margin-right: 0; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。