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


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分析、压缩工具 JavaScript Analyser
Nov 30 Javascript
Javascript setInterval的两种调用方法(实例讲解)
Nov 29 Javascript
javascript 中that的含义示例介绍
May 14 Javascript
排序算法的javascript实现与讲解(99js手记)
Sep 28 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
Jun 19 Javascript
jQuery旋转木马式幻灯片轮播特效
Dec 04 Javascript
基于jquery实现表格无刷新分页
Jan 07 Javascript
jQuery基于ID调用指定iframe页面内的方法
Jul 06 Javascript
js实现弹窗暗层效果
Jan 16 Javascript
JavaScript实现的浏览器下载文件的方法
Aug 09 Javascript
老生常谈javascript的面向对象思想
Aug 22 Javascript
vue使用axios实现excel文件下载的功能
Jul 16 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 SQL防注入代码集合
2008/04/25 PHP
如何获知PHP程序占用多少内存(memory_get_usage)
2012/09/23 PHP
php中session定期自动清理的方法
2015/11/12 PHP
PHP中的正则表达式实例详解
2017/04/25 PHP
Open and Print a Word Document
2007/06/15 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
详解JavaScript函数绑定
2013/08/18 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
jquery+CSS3实现淘宝移动网页菜单效果
2015/08/31 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
JS块级作用域和私有变量实例分析
2019/05/11 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
详解Vue2的diff算法
2021/01/06 Vue.js
简单的编程0基础下Python入门指引
2015/04/01 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
python Pexpect 实现输密码 scp 拷贝的方法
2019/01/03 Python
Python 编程速成(推荐)
2019/04/15 Python
聊聊python中的循环遍历
2020/09/07 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
六十岁生日答谢词
2014/01/10 职场文书
大学军训感言600字
2014/02/25 职场文书
导游个人求职信范文
2014/03/23 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
客房部经理岗位职责
2015/02/02 职场文书
2014年底个人工作总结
2015/03/10 职场文书