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


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脚本性能优化注意事项
Nov 18 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 Javascript
jQuery实现可收缩展开的级联菜单实例代码
Nov 27 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
AngularJS表格详解及示例代码
Aug 17 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
Dec 06 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
Dec 13 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
Dec 26 Javascript
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
js动态设置select下拉菜单的默认选中项实例
Aug 21 Javascript
详解React项目中碰到的IE问题
Mar 14 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
Aug 15 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
Protoss建筑一览
2020/03/14 星际争霸
1.PHP简介
2006/10/09 PHP
实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
许愿墙中用到的函数
2006/10/07 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
详解javascript中的Error对象
2019/04/25 Javascript
js时间转换毫秒的实例代码
2019/08/21 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
jQuery实现倒计时功能完整示例
2020/06/01 jQuery
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
python创建临时文件夹的方法
2015/07/06 Python
在Django中创建URLconf相关的通用视图的方法
2015/07/20 Python
Python手机号码归属地查询代码
2016/05/04 Python
linecache模块加载和缓存文件内容详解
2018/01/11 Python
python如何对实例属性进行类型检查
2018/03/20 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
.NET程序员的数据库面试题
2012/10/10 面试题
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
企业后勤岗位职责
2014/02/28 职场文书
小学生优秀评语大全
2014/04/22 职场文书
辞职申请书范本
2019/05/20 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
解决golang结构体tag编译错误的问题
2021/05/02 Golang
React中的Context应用场景分析
2021/06/11 Javascript
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android