微信小程序实现文字从右向左无限滚动


Posted in Javascript onNovember 18, 2020

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

微信小程序实现文字从右向左无限滚动

布局页面wxml

<scroll-view class="container">
 <view class="scrolltxt">
 <view class="marquee_box">
  <view class="marquee_text" style="transform: translateX(-{{marqueeDistance}}px)">
  <text>{{text}}</text>
  <text style="margin-right:{{marquee_margin}}px;"></text>
  <text style="margin-right:{{marquee_margin}}px;">{{text}}</text>  
  </view>
 </view>
 </view>
</scroll-view>

样式页面 wxss

.container {height: 100%;display: flex;flex-direction: column;justify-content: space-between;box-sizing: border-box;}
.scrolltxt{padding:0 20rpx;background:#f8f8f8;}
.marquee_box {position:relative;color:#333;height:90rpx;display:block;overflow:hidden;} 
.marquee_text {white-space: nowrap;position:absolute;top:0;font-size:14px;height:90rpx;line-height:90rpx;}

小程序 js页面

Page({
 /**
 * 页面的初始数据
 * Linyufan.com
 */
 data: {
 text: "这是一条测试公告,看看效果怎么样,2019年3月23日",
 marqueePace: 1,//滚动速度
 marqueeDistance: 0,//初始滚动距离
 marquee_margin: 30,
 size:14,
 interval: 20 // 时间间隔
 },
 
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) { 
 },
 onShow: function () {
 var that = this;
 var length = that.data.text.length * that.data.size;//文字长度
 var windowWidth = wx.getSystemInfoSync().windowWidth;// 屏幕宽度
 //console.log(length,windowWidth);
 that.setData({
  length: length,
  windowWidth: windowWidth
 });
 that.scrolltxt();// 第一个字消失后立即从右边出现
 },
 
 scrolltxt: function () {
 var that = this;
 var length = that.data.length;//滚动文字的宽度
 var windowWidth = that.data.windowWidth;//屏幕宽度
 if (length > windowWidth){
  var interval = setInterval(function () {
  var maxscrollwidth = length + that.data.marquee_margin;//滚动的最大宽度,文字宽度+间距,如果需要一行文字滚完后再显示第二行可以修改marquee_margin值等于windowWidth即可
  var crentleft = that.data.marqueeDistance;
  if (crentleft < maxscrollwidth) {//判断是否滚动到最大宽度
   that.setData({
   marqueeDistance: crentleft + that.data.marqueePace
   })
  }
  else {
   //console.log("替换");
   that.setData({
   marqueeDistance: 0 // 直接重新滚动
   });
   clearInterval(interval);
   that.scrolltxt();
  }
  }, that.data.interval);
 }
 else{
  that.setData({ marquee_margin:"1000"});//只显示一条不滚动右边间距加大,防止重复显示
 } 
 }
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

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

Javascript 相关文章推荐
javascript中数组array及string的方法总结
Nov 28 Javascript
javascript结合fileReader 实现上传图片
Jan 30 Javascript
Redis基本知识、安装、部署、配置笔记
Mar 05 Javascript
深入分析Javascript跨域问题
Apr 17 Javascript
JavaScript中的条件判断语句使用详解
Jun 03 Javascript
jquery获取复选框checkbox的值实现方法
May 30 Javascript
jQuery实现的购物车物品数量加减功能代码
Nov 16 Javascript
SpringMVC+bootstrap table实例详解
Jun 02 Javascript
vue项目中跳转到外部链接的实例讲解
Sep 20 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
Sep 28 Javascript
js实现鼠标滑动到某个div禁止滚动
Sep 17 Javascript
详解vue 组件的实现原理
Nov 12 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
Dec 28 #Javascript
小程序文字跑马灯效果
Dec 28 #Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
Dec 28 #Javascript
Angular使用Restful的增删改
Dec 28 #Javascript
原生js实现公告滚动效果
Jan 10 #Javascript
微信小程序实现文字无限轮播效果
Dec 28 #Javascript
小程序实现左右来回滚动字幕效果
Dec 28 #Javascript
You might like
php中http与https跨域共享session的解决方法
2014/12/20 PHP
PHP连接操作access数据库实例
2015/03/30 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
Laravel实现autoload方法详解
2017/05/07 PHP
使用php自动备份数据库表的实现方法
2017/07/28 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
CL vs ForZe BO5 第三场 2.13
2021/03/10 DOTA
做网页的一些技巧(续)
2007/02/01 Javascript
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
JQuery中each()的使用方法说明
2010/08/19 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
JavaScript类属性的访问方式详解
2014/02/11 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
前端Electron新手入门教程详解
2019/06/21 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
2020/08/03 Javascript
Python实现八大排序算法
2016/08/13 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
Python数组并集交集补集代码实例
2020/02/18 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
关于美容院的活动方案
2014/08/14 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫