700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 微信小程序-文字跑马灯效果

微信小程序-文字跑马灯效果

时间:2022-07-27 07:01:25

相关推荐

微信小程序-文字跑马灯效果

效果如图

WXML

<scroll-view class="container"><view class="scrolltxt"><view class="marquee_box"><view class="marquee_text" style="transform: translateX(-{{marqueeDistance}}px)"><text>{{text}}</text><text style="margin-right:{{marquee_margin}}px;"></text><text style="margin-right:{{marquee_margin}}px;">{{text}}</text> </view></view></view></scroll-view>

WXSS

.container {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

data: {//滚动字幕text: "温馨提示:为了保证其他购买者的利益,每个 账号针对同一商品只允许退款一次,请您谨慎操作。",marqueePace: 1,//滚动速度marqueeDistance: 0,//初始滚动距离marquee_margin: 30,//间距size: 14,//字号time: '',// 定时器},onHide: function () {//清空滚动字幕定时器,避免锁屏或页面隐藏后移动速度越来越快clearInterval(this.data.time);},onShow: function (e) {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();// 第一个字消失后立即从右边出现},/*** 滚动字幕*/scrolltxt: function () {var that = this;var length = that.data.length;//滚动文字的宽度var windowWidth = that.data.windowWidth;//屏幕宽度var time = this.data.timeif (length > windowWidth) {time = 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 {that.setData({marqueeDistance: 0 // 直接重新滚动});clearInterval(time);that.scrolltxt();}}, 20);}else {that.setData({ marquee_margin: "1000" });//只显示一条不滚动右边间距加大,防止重复显示}that.setData({time:time})},

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。