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


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 相关文章推荐
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
window.location不跳转的问题解决方法
Apr 17 Javascript
论JavaScript模块化编程
Mar 07 Javascript
jQuery validate插件功能与用法详解
Dec 15 Javascript
canvas时钟效果
Feb 16 Javascript
jQuery实现导航回弹效果
Feb 27 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
JS实现根据指定值删除数组中的元素操作示例
Aug 02 Javascript
koa2 从入门到精通(小结)
Jul 23 Javascript
JS常用排序方法实例代码解析
Mar 03 Javascript
javascript事件循环event loop的简单模型解释与应用分析
Mar 14 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
Nov 02 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
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
详解JS函数重载
2014/12/04 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
AngularJS实用开发技巧(推荐)
2016/07/13 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
Python每天必学之bytes字节
2016/01/28 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
基于spring boot 日志(logback)报错的解决方式
2020/02/20 Python
Python classmethod装饰器原理及用法解析
2020/10/17 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
英国网上超市:Ocado
2020/03/05 全球购物
2019年.net常见面试问题
2012/02/12 面试题
电子商务专业个人的自我评价
2013/12/19 职场文书
《雾凇》教学反思
2014/02/17 职场文书
班级安全教育实施方案
2014/02/23 职场文书
优秀护士演讲稿
2014/04/30 职场文书
慈善晚会策划方案
2014/05/14 职场文书
竞赛口号大全
2014/06/16 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
党员转正介绍人意见
2015/06/03 职场文书
关爱空巢老人感想
2015/08/11 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
vue响应式原理与双向数据的深入解析
2021/06/04 Vue.js
SQL实现LeetCode(196.删除重复邮箱)
2021/08/07 MySQL