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


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 相关文章推荐
C#中TrimStart,TrimEnd,Trim在javascript上的实现
Jan 17 Javascript
jQuery1.6 类型判断实现代码
Sep 01 Javascript
js中的preventDefault与stopPropagation详解
Jan 29 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
Sep 10 Javascript
让人蛋疼的JavaScript语法特性
Sep 30 Javascript
jQuery实现视频作为全屏幕背景
Dec 18 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
Oct 14 Javascript
webpack打包多页面的方法
Nov 30 Javascript
微信小程序如何调用图片接口API并居中显示
Jun 29 Javascript
JS实现移动端点击按钮复制文本内容
Jul 28 Javascript
js中apply和call的理解与使用方法
Nov 27 Javascript
深入浅析JavaScript中的in关键字和for-in循环
Apr 20 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
全国FM电台频率大全 - 22 重庆市
2020/03/11 无线电
无数据库的详细域名查询程序PHP版(1)
2006/10/09 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
JavaScript SetInterval与setTimeout使用方法详解
2013/11/15 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
vue键盘事件点击事件加native操作
2020/07/27 Javascript
在漏洞利用Python代码真的很爽
2007/08/26 Python
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
python安装requests库的实例代码
2019/06/25 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
亿企通软件测试面试题
2012/04/10 面试题
电大自我鉴定范文
2013/10/01 职场文书
英文版网络工程师求职信
2013/10/28 职场文书
幼儿园儿童节活动主持词+串词大全
2014/03/21 职场文书
学习雷锋标语
2014/06/25 职场文书
贷款委托书怎么写
2014/08/02 职场文书
ktv好的活动方案
2014/08/15 职场文书
考研复习计划
2015/01/19 职场文书
天堂的孩子观后感
2015/06/11 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL