微信小程序实现简单文字跑马灯


Posted in Javascript onMay 26, 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 {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

data: {
 //滚动字幕
 text: "温馨提示:为了保证其他购买者的利益,每个 账号针对同一商品只允许退款一次,请您谨慎操作。",
 marqueePace: 1,//滚动速度
 marqueeDistance: 0,//初始滚动距离
 marquee_margin: 30,//间距
 size: 14,//字号
 time: '',// 定时器
 },

onHide: function () {
 //清空滚动字幕定时器,避免锁屏或页面隐藏后移动速度越来越快
 clearInterval(this.data.time);
 },

 onShow: function (e) {
 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;//屏幕宽度
 var time = this.data.time
 if (length > windowWidth) {
 time = 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 {
  that.setData({
  marqueeDistance: 0 // 直接重新滚动
  });
  clearInterval(time);
  that.scrolltxt();
 }
 }, 20);
 }
 else {
 that.setData({ marquee_margin: "1000" });//只显示一条不滚动右边间距加大,防止重复显示
 }
 that.setData({
 time:time
 })
 },

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

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

Javascript 相关文章推荐
js判断浏览器的比较全的代码
Feb 13 Javascript
javascript基础知识大集锦(二) 推荐收藏
Jan 13 Javascript
jQuery position() 函数详解以及jQuery中position函数的应用
Dec 14 Javascript
解析浏览器端的AJAX缓存机制
Jun 21 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
Aug 29 Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 Javascript
Angular2入门--架构总览
Mar 29 Javascript
详解webpack 多入口配置
Jun 16 Javascript
JS图片轮播与索引变色功能实例详解
Jul 06 Javascript
js canvas实现适用于移动端的百分比仪表盘dashboard
Jul 18 Javascript
浅谈React的最大亮点之虚拟DOM
May 29 Javascript
JS解析后台返回的JSON格式数据实例
Aug 06 Javascript
微信小程序实现带放大效果的轮播图
May 26 #Javascript
vue实现图片上传功能
May 28 #Javascript
小程序实现图片移动缩放效果
May 26 #Javascript
jQuery实现的分页插件完整示例
May 26 #jQuery
js实现时间日期校验
May 26 #Javascript
Node.js API详解之 assert模块用法实例分析
May 26 #Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
May 26 #Javascript
You might like
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
php获取当前时间的毫秒数的方法
2014/01/26 PHP
php中socket的用法详解
2014/10/24 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
详解new function(){}和function(){}() 区别分析
2008/03/22 Javascript
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
JavaScript 事件入门知识
2015/04/13 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
jQuery使用$.ajax进行即时验证的方法
2015/12/08 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
Bootstrap优化站点资源、响应式图片、传送带使用详解3
2016/10/14 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
JS作用域深度解析
2016/12/29 Javascript
微信小程序实现蓝牙打印
2019/09/23 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
JavaScript实现密码强度实时验证
2020/03/18 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
如何使用python爬取csdn博客访问量
2016/02/14 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
名词解释WEB SERVICE,SOAP,UDDI,WSDL,JAXP,JAXM;JSWDL开发包的介绍。
2012/10/27 面试题
公务员的自我鉴定
2013/10/26 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
委托收款证明
2015/06/23 职场文书