溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序?qū)崿F(xiàn)文字跑馬燈的方法

發(fā)布時(shí)間:2020-07-22 09:53:40 來源:億速云 閱讀:259 作者:小豬 欄目:web開發(fā)

這篇文章主要講解了微信小程序?qū)崿F(xiàn)文字跑馬燈的方法,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

前言

要實(shí)現(xiàn)跑馬燈主要就是獲得判斷開始定界和結(jié)束定界, 1.9.3新增的wxml操作接口 就可以拿到節(jié)點(diǎn)長寬等屬性,當(dāng)然你也可以直接用 文字?jǐn)?shù)量 * 文字大小(注意字體的單位px,rpx)。

效果圖

短字

微信小程序?qū)崿F(xiàn)文字跑馬燈的方法

長字

微信小程序?qū)崿F(xiàn)文字跑馬燈的方法

wxml

<view class="content">
 <text class="every" decode="{{true}}" >{{announ}}</text>
</view>

js

我這里用的是wepy寫的,湊合著看吧

export default class ShopIndex extends wepy.page {

 config = {
 navigationBarTitleText : '首頁',
 }

 data = {
 // 公告內(nèi)容
 announ : '超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度超長度v',
 announNum : 0,
 announy : 280,
 announZf : '-'
 }

 onLoad() {
 
 let self = this;
 var query = wepy.createSelectorQuery();
 query.select('.content').boundingClientRect(ContentRes => {
  var query = wepy.createSelectorQuery();
  query.select('.every').boundingClientRect(TextRes => {

  //加上一百是因?yàn)榉乐乖跉w零時(shí)出現(xiàn)閃爍的情況
  let maxContentWidth = ContentRes.width + 100,
  maxTextWidth = TextRes.width;
  //初始化
  self.announNum = TextRes.width
  self.$apply();

  //定時(shí)器
  setInterval(()=>{
   if(self.announZf == '-') {
   if(self.announNum <= 0) {
    self.announZf = ''
   } else {
    self.announNum -= 1
   }
   } else {
   if(self.announNum > (maxContentWidth)) {
    //歸位
    self.announZf = '-'
    self.announNum = maxTextWidth
   } else {
    self.announNum += 1
   }
   } 
   self.$apply();  
  },5)
  }).exec();
 }).exec();

 }
 }

看完上述內(nèi)容,是不是對微信小程序?qū)崿F(xiàn)文字跑馬燈的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI