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


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 从if else 到 switch case 再到抽象
Jul 17 Javascript
js封装的textarea操作方法集合(兼容很好)
Nov 16 Javascript
javascript中数组的sort()方法的使用介绍
Dec 18 Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 Javascript
js获取url传值的方法
Dec 18 Javascript
javascript url几种编码方式详解
Jun 06 Javascript
js模拟百度模糊搜索的实例
Aug 04 Javascript
javascript实现数字配对游戏的实例讲解
Dec 14 Javascript
微信小程序radio组件使用详解
Jan 31 Javascript
vue-router动态设置页面title的实例讲解
Aug 30 Javascript
详解vue 在移动端体验上的优化解决方案
May 20 Javascript
express启用https使用小记
May 21 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
Symfony2函数用法实例分析
2016/03/18 PHP
PHP基本语法实例总结
2016/09/09 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
Vue.js每天必学之方法与事件处理器
2016/09/06 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
2016/11/09 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
swiper Scrollbar滚动条组件详解
2019/09/08 Javascript
[01:18:21]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
python简单实现计算过期时间的方法
2015/06/09 Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
2017/10/20 Python
Python之list对应元素求和的方法
2018/06/28 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
来自世界各地的优质葡萄酒:VineShop24
2018/07/09 全球购物
DeinDesign德国:设计自己的手机壳
2019/12/14 全球购物
2013年保送生自荐信格式
2013/11/20 职场文书
大学生创业计划书的用途
2014/01/08 职场文书
一年级学生期末评语
2014/04/21 职场文书
副处级干部考察材料
2014/05/17 职场文书
个人求职自荐信范文
2014/06/20 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
2015年端午节活动策划书
2015/05/05 职场文书