国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

微信小程序實現跑馬燈效果

2020-03-21 16:07:14
字體:
來源:轉載
供稿:網友

網上很多實現跑馬燈的文章,但是很多發現都是不行的,之一就是文字寬度居然是通過字符數*文字size計算,明顯是不準確的計算方式。我看了下,發現可以通過計算控件寬度來精確計算文字寬度,這樣實現的跑馬燈是比較完善的。

效果如下:

微信小程序,跑馬燈

實現代碼如下:

wxml:

<view class="rollCon"> <view class='box'>  <view class='text'style='left:{{offsetLeft}}px' >{{text}}</view></view></view>

wxss:

.rollCon { position: fixed; top: 0; left: 0; width: 100%; height: 60rpx; z-index: 100; background: #fde8c7; font-size: 20rpx; line-height: 60rpx;}.box { width: 100%; position: relative;}.text { white-space: nowrap; position: absolute; top: 0; font-size: 24px;}

js:

Page({ /**  * 頁面的初始數據  */ data: {  interval: null,  text: '995年JavaScript誕生時如早一年',  pace: 1.2, //滾動速度  interval: 20, //時間間隔  size: 24, //字體大小in px  length: 0, //字體寬度  offsetLeft: 0, //  windowWidth: 0, }, //根據viewId查詢view的寬度 queryViewWidth: function(viewId) {  //創建節點選擇器  return new Promise(function(resolve) {   var query = wx.createSelectorQuery();   var that = this;   query.select('.' + viewId).boundingClientRect(function(rect) {    resolve(rect.width);   }).exec();  }); }, //停止跑馬燈 stopMarquee: function() {  var that = this;  //清除舊的定時器  if (that.data != null) {   clearInterval(that.interval);  } }, //執行跑馬燈動畫 excuseAnimation: function() {  var that = this;  if (that.data.length > that.data.windowWidth) {   //設置循環   let interval = setInterval(function() {    if (that.data.offsetLeft <= 0) {     if (that.data.offsetLeft >= -that.data.length) {      that.setData({       offsetLeft: that.data.offsetLeft - that.data.pace,      })     } else {      that.setData({       offsetLeft: that.data.windowWidth,      })     }    } else {     that.setData({      offsetLeft: that.data.offsetLeft - that.data.pace,     })    }   }, that.data.interval);  } }, //開始跑馬燈 startMarquee: function() {  var that = this;  that.stopMarquee();  //初始化數據  that.data.windowWidth = wx.getSystemInfoSync().windowWidth;  that.queryViewWidth('text').then(function(resolve) {   that.data.length = resolve;   console.log(that.data.length + "/" + that.data.windowWidth);   that.excuseAnimation();  }); } })

源碼下載:跑馬燈效果

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 隆子县| 汕头市| 文安县| 边坝县| 虞城县| 任丘市| 洪洞县| 凌海市| 九寨沟县| 玉环县| 绥阳县| 太保市| 尼木县| 大荔县| 寻甸| 襄城县| 临邑县| 苍南县| 长乐市| 太仆寺旗| 凤山市| 无棣县| 嫩江县| 广灵县| 灵丘县| 洪泽县| 肥西县| 察雅县| 庆城县| 房产| 湟源县| 临猗县| 奉化市| 南阳市| 花垣县| 松溪县| 砚山县| 凤山县| 阿拉善左旗| 聊城市| 固镇县|