91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

發布時間: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

天津市| 介休市| 乌海市| 罗田县| 龙州县| 驻马店市| 临江市| 丁青县| 上蔡县| 包头市| 兰考县| 志丹县| 山丹县| 喀喇沁旗| 沙洋县| 马关县| 沙雅县| 平山县| 合肥市| 鱼台县| 台中县| 伊通| 石河子市| 安新县| 淳化县| 江安县| 鹤山市| 蓝山县| 肇源县| 法库县| 陇川县| 东山县| 太谷县| 凌云县| 呼伦贝尔市| 日喀则市| 陆丰市| 土默特左旗| 门源| 六枝特区| 青田县|