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


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 相关文章推荐
在JavaScript中获取请求的URL参数[正则]
Dec 25 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
Feb 26 Javascript
javascript实现给定半径求出圆的面积
Jun 26 Javascript
JS使用parseInt解析数字实现求和的方法
Aug 05 Javascript
跟我学习javascript的垃圾回收机制与内存管理
Nov 23 Javascript
JavaScript中的Array 对象(数组对象)
Jun 02 Javascript
JS原型链 详解及示例代码
Sep 06 Javascript
原生node.js案例--前后台交互
Feb 20 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
Apr 04 jQuery
详解element-ui中form验证杂记
Mar 04 Javascript
Vue起步(无cli)的啊教程详解
Apr 11 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
May 01 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生成图片验证码-附五种验证码
2015/08/19 PHP
PHP实现打包下载文件的方法示例
2017/10/07 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
js 操作css实现代码
2009/06/11 Javascript
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
IE 当eval遇上function的处理
2011/08/09 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
jQuery动态添加、删除元素的方法
2014/01/09 Javascript
Javascript的闭包详解
2014/12/26 Javascript
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
浅谈angularJS中的事件
2016/07/12 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
AngularJS基础 ng-non-bindable 指令详细介绍
2016/08/02 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
基于Webpack4和React hooks搭建项目的方法
2019/02/05 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
Vue实现商品详情页的评价列表功能
2019/09/04 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
python检测远程端口是否打开的方法
2015/03/14 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
Django中的cookie和session
2019/08/27 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
python实现名片管理器的示例代码
2019/12/17 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
高中打架检讨书
2014/02/13 职场文书
消防志愿者活动方案
2014/08/23 职场文书
英文慰问信
2015/02/14 职场文书
大学生学年个人总结
2015/02/15 职场文书
欠款起诉书范文
2015/05/19 职场文书
环境卫生标语
2015/08/03 职场文书
JUnit5常用注解的使用
2021/07/02 Java/Android