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


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 oop开发滑动(slide)菜单控件
Aug 25 Javascript
DOM基础教程之使用DOM控制表单
Jan 20 Javascript
在JavaScript中处理字符串之link()方法的使用
Jun 08 Javascript
jquery ajax 如何向jsp提交表单数据
Aug 23 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
Aug 03 Javascript
js判断数组key是否存在(不用循环)的简单实例
Aug 03 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
Sep 29 Javascript
浅谈jquery采用attr修改form表单enctype不起作用的问题
Nov 25 Javascript
React Native模块之Permissions权限申请的实例相机
Sep 28 Javascript
vue自定义指令directive实例详解
Jan 17 Javascript
浅析vue中的provide / inject 有什么用处
Nov 10 Javascript
vue接通后端api以及部署到服务器操作
Aug 13 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 求质素(素数) 的实现代码
2011/04/12 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
PHP中防止SQL注入方法详解
2014/12/25 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
简单学习Python time模块
2016/04/29 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
python实例化对象的具体方法
2020/06/17 Python
《浅水洼里的小鱼》听课反思
2014/02/28 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
安徽导游词
2015/02/12 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
金榜题名主持词
2015/07/02 职场文书
浅谈python数据类型及其操作
2021/05/25 Python