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


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辅助函数inherit()的问题
Apr 07 Javascript
js实现快速分享功能(你的文章分享工具)
Jun 25 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
Jan 26 Javascript
JavaScript中判断变量是数组、函数或是对象类型的方法
Feb 25 Javascript
jQuery扩展+xml实现表单验证功能的方法
Dec 25 Javascript
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
node基于puppeteer模拟登录抓取页面的实现
May 09 Javascript
RequireJS用法简单示例
Aug 20 Javascript
JS调用安卓手机摄像头扫描二维码
Oct 16 Javascript
深入了解JavaScript代码覆盖
Jun 13 Javascript
js实现二级联动简单实例
Jan 11 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
Nov 17 Vue.js
微信小程序实现带放大效果的轮播图
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数组循环操作详细介绍 附实例代码
2013/02/03 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
2015/11/18 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
2017/10/30 Javascript
对vue中v-if的常见使用方法详解
2018/09/28 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
2019/01/27 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
python打开网页和暂停实例
2014/09/30 Python
用Python制作简单的钢琴程序的教程
2015/04/01 Python
python输出指定月份日历的方法
2015/04/23 Python
Python3中详解fabfile的编写
2018/06/24 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python实现简单的文字识别
2018/11/27 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
初中英语教学反思
2014/01/25 职场文书
2014年双拥工作总结
2014/11/21 职场文书
不同意离婚答辩状
2015/05/22 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
创业计划书之面包店
2019/09/17 职场文书
导游词之长城八达岭
2019/09/24 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
在CSS中使用when/else的方法
2022/01/18 HTML / CSS