您好,登錄后才能下訂單哦!
本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)文字無限滾動的具體代碼,供大家參考,具體內(nèi)容如下
布局頁面wxml
<scroll-view class="container"> <view class="scrolltxt"> <view class="marquee_box"> <view class="marquee_text" > <text>{{text}}</text> <text ></text> <text >{{text}}</text> </view> </view> </view> </scroll-view>
樣式頁面 wxss
.container {height: 100%;display: flex;flex-direction: column;justify-content: space-between;box-sizing: border-box;} .scrolltxt{padding:0 20rpx;background:#f8f8f8;} .marquee_box {position:relative;color:#333;height:90rpx;display:block;overflow:hidden;} .marquee_text {white-space: nowrap;position:absolute;top:0;font-size:14px;height:90rpx;line-height:90rpx;}
小程序 js頁面
Page({ /** * 頁面的初始數(shù)據(jù) * Linyufan.com */ data: { text: "這是一條測試公告,看看效果怎么樣,2019年3月23日", marqueePace: 1,//滾動速度 marqueeDistance: 0,//初始滾動距離 marquee_margin: 30, size:14, interval: 20 // 時(shí)間間隔 }, /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function (options) { }, onShow: function () { var that = this; var length = that.data.text.length * that.data.size;//文字長度 var windowWidth = wx.getSystemInfoSync().windowWidth;// 屏幕寬度 //console.log(length,windowWidth); that.setData({ length: length, windowWidth: windowWidth }); that.scrolltxt();// 第一個(gè)字消失后立即從右邊出現(xiàn) }, scrolltxt: function () { var that = this; var length = that.data.length;//滾動文字的寬度 var windowWidth = that.data.windowWidth;//屏幕寬度 if (length > windowWidth){ var interval = setInterval(function () { var maxscrollwidth = length + that.data.marquee_margin;//滾動的最大寬度,文字寬度+間距,如果需要一行文字滾完后再顯示第二行可以修改marquee_margin值等于windowWidth即可 var crentleft = that.data.marqueeDistance; if (crentleft < maxscrollwidth) {//判斷是否滾動到最大寬度 that.setData({ marqueeDistance: crentleft + that.data.marqueePace }) } else { //console.log("替換"); that.setData({ marqueeDistance: 0 // 直接重新滾動 }); clearInterval(interval); that.scrolltxt(); } }, that.data.interval); } else{ that.setData({ marquee_margin:"1000"});//只顯示一條不滾動右邊間距加大,防止重復(fù)顯示 } } })
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。