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


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获取控件位置以及不同浏览器中的差别介绍
Aug 08 Javascript
关于javascript模块加载技术的一些思考
Nov 28 Javascript
微信小程序(三):网络请求
Jan 13 Javascript
Ionic学习日记实现验证码倒计时
Feb 08 Javascript
浅谈Vue响应式(数组变异方法)
May 07 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
May 22 Javascript
Angularjs中date过滤器失效的问题及解决方法
Jul 06 Javascript
vue数据操作之点击事件实现num加减功能示例
Jan 19 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
Nov 21 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
Apr 21 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
Jun 16 Javascript
js 将多个对象合并成一个对象 assign方法的实现
Sep 24 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
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
2016/05/16 PHP
JavaScript去掉空格的方法集合
2010/12/28 Javascript
js中各浏览器中鼠标按键值的差异
2011/04/07 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
js鼠标悬浮出现遮罩层的方法
2015/01/28 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
纯javascript版日历控件
2016/11/24 Javascript
微信小程序 video详解及简单实例
2017/01/16 Javascript
深入剖析Node.js cluster模块
2018/05/23 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
angular6开发steps步骤条组件
2019/07/04 Javascript
Vue混入mixins滚动触底的方法
2019/11/22 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
python实现定时播放mp3
2015/03/29 Python
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
如何处理Python3.4 使用pymssql 乱码问题
2016/01/08 Python
python使用pycharm环境调用opencv库
2018/02/11 Python
Python sklearn KFold 生成交叉验证数据集的方法
2018/12/11 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
flask开启多线程的具体方法
2020/08/02 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
总裁秘书岗位职责
2013/12/04 职场文书
世界读书日的活动方案
2014/08/20 职场文书
授权委托书(法人单位用)
2014/09/29 职场文书
2016圣诞节贺卡寄语
2015/12/07 职场文书
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS