亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

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

齐齐哈尔市| 马鞍山市| 陕西省| 兴文县| 长沙市| 顺昌县| 嵊州市| 栾城县| 沐川县| 鄂伦春自治旗| 克东县| 广河县| 南雄市| 潼关县| 望都县| 合肥市| 沂南县| 怀集县| 湖南省| 保康县| 娄底市| 新津县| 碌曲县| 涿鹿县| 开远市| 丘北县| 确山县| 辽宁省| 盈江县| 沅江市| 新巴尔虎左旗| 通化县| 玉门市| 宁津县| 扶余县| 河津市| 五指山市| 沾益县| 河池市| 达拉特旗| 黎平县|