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


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 相关文章推荐
jquery 简单导航实现代码
Sep 11 Javascript
JQuery实现表格中相同单元格合并示例代码
Jun 26 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
Oct 16 Javascript
js改变embed标签src值的方法
Apr 10 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
JS动态增删表格行的方法
Mar 03 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
Mar 07 Javascript
JavaScript实现复制文章自动添加版权
Aug 02 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
Jan 09 Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
javascript实现抢购倒计时程序
Aug 26 Javascript
浅谈JSON5解决了JSON的两大痛点
Dec 14 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生成html分页列表的代码
2007/03/18 PHP
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
php xml常用函数的集合(比较详细)
2013/06/06 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
破解Session cookie的方法
2006/07/28 Javascript
Prototype使用指南之string.js
2007/01/10 Javascript
Date对象格式化函数代码
2010/07/17 Javascript
jQuery实现提交按钮点击后变成正在处理字样并禁止点击的方法
2015/03/24 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
layui实现把数据表格时间戳转换为时间格式的例子
2019/09/12 Javascript
浅谈Webpack4 Tree Shaking 终极优化指南
2019/11/18 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
使用Python下载Bing图片(代码)
2013/11/07 Python
python修改操作系统时间的方法
2015/05/18 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
python实现ID3决策树算法
2017/12/20 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
Python中filter与lambda的结合使用详解
2019/12/24 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
公司年会搞笑主持词
2014/03/24 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
学生党支部工作总结2015
2015/05/26 职场文书
趣味运动会赞词
2015/07/22 职场文书
浅谈克隆 JavaScript
2021/11/02 Javascript
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS