微信小程序实现文字滚动

 更新时间:2021年03月16日 14:25:26   作者:huangzhin  
这篇文章主要为大家详细介绍了微信小程序实现文字滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了微信小程序实现文字滚动的具体代码,供大家参考,具体内容如下

wxml:

<view>显示完后再显示:</view>
<view class="example">
 <view class="box">
 <view class="text" style="{{orientation}}:{{marqueeDistance}}px;font-size: {{size}}px;">
  {{text}}
 </view>
 </view>
</view>
<view>出现白边后即显示:</view>
<view class="example">
 <view class="box">
 <view class="text" style="{{orientation}}:{{marqueeDistance2}}px;font-size: {{size}}px;">
  <text>{{text}}</text>
  <text wx:if="{{marquee2copy_status}}" style="margin-left:{{marquee2_margin}}px;">{{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);
 }


})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Swiper实现导航栏滚动效果

    Swiper实现导航栏滚动效果

    这篇文章主要为大家详细介绍了Swiper实现导航栏滚动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • 使用Promise链式调用解决多个异步回调的问题

    使用Promise链式调用解决多个异步回调的问题

    这篇文章主要给大家介绍了使用Promise链式调用解决多个异步回调问题的方法,文中给出了详细的介绍和示例代码,有需要的朋友可以参考借鉴,下面来一起学习学习吧。
    2017-01-01
  • javascript检测页面是否缩放的小例子

    javascript检测页面是否缩放的小例子

    简单写了下,只测试了chrome,道理很简单,其他浏览器自行扩充。
    2013-05-05
  • JavaScript实现简单计时器

    JavaScript实现简单计时器

    这篇文章主要为大家详细介绍了JavaScript实现简单计时器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • webpack打包时如何修改文件名的实现示例

    webpack打包时如何修改文件名的实现示例

    本文主要介绍了webpack打包时如何修改文件名的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • ajaxfileupload.js实现上传文件功能

    ajaxfileupload.js实现上传文件功能

    这篇文章主要为大家详细介绍了ajaxfileupload.js实现上传文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • js判断鼠标位置是否在某个div中的方法

    js判断鼠标位置是否在某个div中的方法

    这篇文章主要介绍了js判断鼠标位置是否在某个div中的方法,涉及JavaScript针对鼠标事件的响应及页面元素属性操作相关技巧,需要的朋友可以参考下
    2016-02-02
  • 原生javascript实现addClass,removeClass,hasClass函数

    原生javascript实现addClass,removeClass,hasClass函数

    这篇文章主要介绍了原生javascript实现addClass,removeClass,hasClass函数的相关代码,有需要的小伙伴可以参考下
    2016-02-02
  • 微信小程序点击生成朋友圈分享图(遇到的坑)

    微信小程序点击生成朋友圈分享图(遇到的坑)

    这篇文章主要介绍了微信小程序 点击生成朋友圈分享图,本文给大家分享小编在实现此功能时遇到的各种坑,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • JavaScript简单判断复选框是否选中及取出值的方法

    JavaScript简单判断复选框是否选中及取出值的方法

    这篇文章主要介绍了JavaScript简单判断复选框是否选中及取出值的方法,涉及javascript遍历复选框及元素取值的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08

最新评论