中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么在微信小程序中實現一個文字滾動功能

發布時間:2021-03-16 16:32:54 來源:億速云 閱讀:667 作者:Leah 欄目:開發技術

怎么在微信小程序中實現一個文字滾動功能?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

具體內容如下

wxml:

<view>顯示完后再顯示:</view>
<view class="example">
 <view class="box">
 <view class="text" >
  {{text}}
 </view>
 </view>
</view>
<view>出現白邊后即顯示:</view>
<view class="example">
 <view class="box">
 <view class="text" >
  <text>{{text}}</text>
  <text wx:if="{{marquee2copy_status}}" >{{text}}</text>
 </view>
 </view>
</view>

wxss:

.example {
 display: block;
 width: 100%;
 height: 100rpx;
}

.box {
 width: 100%;
 position: relative;
}

.text {
 white-space: nowrap;
 position: absolute;
 top: 0;
}

js:

Page({


 data: {
 text: '滾動文本1234567890abcdefghijklmnopqrstuvmxyz',
 marqueePace: 1, //滾動速度
 marqueeDistance: 0, //初始滾動距離
 marqueeDistance2: 0,
 marquee2copy_status: false,
 marquee2_margin: 60,
 size: 14,
 orientation: 'left', //滾動方向
 interval: 20 // 時間間隔
 },
 onShow: function() {
 // 頁面顯示
 var vm = this;
 var length = vm.data.text.length * vm.data.size; //文字長度
 var windowWidth = wx.getSystemInfoSync().windowWidth; // 屏幕寬度
 vm.setData({
  length: length,
  windowWidth: windowWidth,
  marquee2_margin: length < windowWidth ? windowWidth - length : vm.data.marquee2_margin //當文字長度小于屏幕長度時,需要增加補白
 });
 vm.run1(); // 水平一行字滾動完了再按照原來的方向滾動
 vm.run2(); // 第一個字消失后立即從右邊出現
 },
 run1: function() {
 var vm = this;
 var interval = setInterval(function() {
  if (-vm.data.marqueeDistance < vm.data.length) {
  vm.setData({
   marqueeDistance: vm.data.marqueeDistance - vm.data.marqueePace,
  });
  } else {
  clearInterval(interval);
  vm.setData({
   marqueeDistance: vm.data.windowWidth
  });
  vm.run1();
  }
 }, vm.data.interval);
 },
 run2: function() {
 var vm = this;
 var interval = setInterval(function() {
  if (-vm.data.marqueeDistance2 < vm.data.length) {
  // 如果文字滾動到出現marquee2_margin=30px的白邊,就接著顯示
  vm.setData({
   marqueeDistance2: vm.data.marqueeDistance2 - vm.data.marqueePace,
   marquee2copy_status: vm.data.length + vm.data.marqueeDistance2 <= vm.data.windowWidth + vm.data.marquee2_margin,
  });
  } else {
  if (-vm.data.marqueeDistance2 >= vm.data.marquee2_margin) { // 當第二條文字滾動到最左邊時
   vm.setData({
   marqueeDistance2: vm.data.marquee2_margin // 直接重新滾動
   });
   clearInterval(interval);
   vm.run2();
  } else {
   clearInterval(interval);
   vm.setData({
   marqueeDistance2: -vm.data.windowWidth
   });
   vm.run2();
  }
  }
 }, vm.data.interval);
 }


})

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁夏| 红河县| 丰都县| 太仓市| 汕尾市| 东兴市| 织金县| 绵竹市| 乐安县| 苍南县| 墨脱县| 胶南市| 西安市| 阜平县| 松阳县| 和平县| 西畴县| 黔江区| 都昌县| 都匀市| 新营市| 新乐市| 孝义市| 奎屯市| 读书| 车致| 宜君县| 错那县| 项城市| 邳州市| 张家口市| 九龙城区| 石泉县| 沈丘县| 达拉特旗| 江川县| 濮阳市| 和龙市| 石家庄市| 漯河市| 乐至县|