微信小程序?qū)崿F(xiàn)簡(jiǎn)單文字跑馬燈
本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)文字跑馬燈 的具體代碼,供大家參考,具體內(nèi)容如下
效果如圖

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: {
//滾動(dòng)字幕
text: "溫馨提示:為了保證其他購買者的利益,每個(gè) 賬號(hào)針對(duì)同一商品只允許退款一次,請(qǐng)您謹(jǐn)慎操作。",
marqueePace: 1,//滾動(dòng)速度
marqueeDistance: 0,//初始滾動(dòng)距離
marquee_margin: 30,//間距
size: 14,//字號(hào)
time: '',// 定時(shí)器
},
onHide: function () {
//清空滾動(dòng)字幕定時(shí)器,避免鎖屏或頁面隱藏后移動(dòng)速度越來越快
clearInterval(this.data.time);
},
onShow: function (e) {
var that = this;
var length = that.data.text.length * that.data.size;//文字長(zhǎng)度
var windowWidth = wx.getSystemInfoSync().windowWidth;// 屏幕寬度
//console.log(length,windowWidth);
that.setData({
length: length,
windowWidth: windowWidth
});
that.scrolltxt();// 第一個(gè)字消失后立即從右邊出現(xiàn)
},
/**
* 滾動(dòng)字幕
*/
scrolltxt: function () {
var that = this;
var length = that.data.length;//滾動(dòng)文字的寬度
var windowWidth = that.data.windowWidth;//屏幕寬度
var time = this.data.time
if (length > windowWidth) {
time = setInterval(function () {
var maxscrollwidth = length + that.data.marquee_margin;//滾動(dòng)的最大寬度,文字寬度+間距,如果需要一行文字滾完后再顯示第二行可以修改marquee_margin值等于windowWidth即可
var crentleft = that.data.marqueeDistance;
if (crentleft < maxscrollwidth) {//判斷是否滾動(dòng)到最大寬度
that.setData({
marqueeDistance: crentleft + that.data.marqueePace
})
}
else {
that.setData({
marqueeDistance: 0 // 直接重新滾動(dòng)
});
clearInterval(time);
that.scrolltxt();
}
}, 20);
}
else {
that.setData({ marquee_margin: "1000" });//只顯示一條不滾動(dòng)右邊間距加大,防止重復(fù)顯示
}
that.setData({
time:time
})
},
為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解設(shè)置Webstorm 利用babel將ES6自動(dòng)轉(zhuǎn)碼成ES5
這篇文章主要介紹了詳解設(shè)置Webstorm 利用babel將ES6自動(dòng)轉(zhuǎn)碼成ES5,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12
layer iframe 設(shè)置關(guān)閉按鈕的方法
今天小編就為大家分享一篇layer iframe 設(shè)置關(guān)閉按鈕的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JS實(shí)現(xiàn)的合并兩個(gè)有序鏈表算法示例
這篇文章主要介紹了JS實(shí)現(xiàn)的合并兩個(gè)有序鏈表算法,結(jié)合實(shí)例形式分析了JavaScript鏈表的定義、節(jié)點(diǎn)插入、刪除、查找等相關(guān)算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-02-02
javascript實(shí)現(xiàn)俄羅斯方塊游戲的思路和方法
至于俄羅斯方塊的話,有很多的難點(diǎn),如果有JS去寫的話,要考慮到碰撞啊,邊界啊,下落等問題,本文這些問題大部分都有考慮到,這里給大家提供一部分思路,拋磚引玉,有需要的小伙伴可以參考下。2015-04-04

