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


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 相关文章推荐
Prototype Array对象 学习
Jul 19 Javascript
基于JQuery的抓取博客园首页RSS的代码
Dec 01 Javascript
jQuery实现id模糊查询的小例子
Mar 19 Javascript
js关于命名空间的函数实例
Feb 05 Javascript
javascript关于运动的各种问题经典总结
Apr 27 Javascript
jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
Mar 03 Javascript
浅谈react受控组件与非受控组件(小结)
Feb 09 Javascript
在Vue-cli里应用Vuex的state和mutations方法
Sep 16 Javascript
命令行批量截图Node脚本示例代码
Jan 25 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
Jan 07 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
Feb 24 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 数字左侧自动补0
2008/03/31 PHP
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
判断一个对象是否为jquery对象的方法
2014/03/12 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
详解vue axios二次封装
2018/07/22 Javascript
微信小程序实现多选删除列表数据功能示例
2019/01/15 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
[01:02:04]EG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
python调用java的Webservice示例
2014/03/10 Python
Python通过解析网页实现看报程序的方法
2014/08/04 Python
python定时器(Timer)用法简单实例
2015/06/04 Python
Python文件右键找不到IDLE打开项解决办法
2015/06/08 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
Python设计模式之观察者模式原理与用法详解
2019/01/16 Python
python反转列表的三种方式解析
2019/11/08 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
领导干部培训感言
2014/01/23 职场文书
培训楼经理岗位责任制
2014/02/10 职场文书
公务员政审材料
2014/12/23 职场文书
后备干部推荐材料
2014/12/24 职场文书
2015年安全生产责任书
2015/01/30 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
Mysql文件存储图文详解
2021/06/01 MySQL
java获取一个文本文件的编码(格式)信息
2022/09/23 Java/Android