本文實例為大家分享了微信小程序?qū)崿F(xiàn)文字無限滾動的具體代碼,供大家參考,具體內(nèi)容如下
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了河池免費建站歡迎大家使用!
布局頁面wxml
{{text}} {{text}}
樣式頁面 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ù)--監(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();// 第一個字消失后立即從右邊出現(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í)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。