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


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下arguments,caller,callee,call,apply示例及理解
Dec 24 Javascript
javascript下数值型比较难点说明
Jun 07 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
Jan 10 Javascript
js隐式全局变量造成的bug示例代码
Apr 22 Javascript
js实现编辑div节点名称的方法
Dec 17 Javascript
jQuery EasyUI Dialog拖不下来如何解决
Sep 28 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
利用node.js实现自动生成前端项目组件的方法详解
Jul 12 Javascript
Nuxt.js SSR与权限验证的实现
Nov 21 Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
May 24 Javascript
jquery传参及获取方式(两种方式)
Feb 13 jQuery
JS原形与原型链深入详解
May 09 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&amp;mysql(三)
2006/10/09 PHP
php巧获服务器端信息
2006/12/06 PHP
PHP文章按日期(月日)SQL归档语句
2012/11/29 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
对js中回调函数的一些看法
2016/08/29 Javascript
vue.js的安装方法
2017/05/12 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
javascript设计模式之迭代器模式
2020/01/30 Javascript
封装Vue Element的table表格组件的示例详解
2020/08/19 Javascript
Python 功能和特点(新手必学)
2015/12/30 Python
Python探索之pLSA实现代码
2017/10/25 Python
python利用有道翻译实现&quot;语言翻译器&quot;的功能实例
2017/11/14 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
Python 运行.py文件和交互式运行代码的区别详解
2019/07/02 Python
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
行政助理求职自荐信
2013/10/26 职场文书
工商管理实习生自我鉴定范文
2013/12/18 职场文书
党支部换届选举方案
2014/05/08 职场文书
放假通知范文
2015/04/14 职场文书
2015年政府采购工作总结
2015/05/21 职场文书