微信小程序实现文字从右向左无限滚动


Posted in Javascript onNovember 18, 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 {height: 100%;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页面

Page({
 /**
 * 页面的初始数据
 * Linyufan.com
 */
 data: {
 text: "这是一条测试公告,看看效果怎么样,2019年3月23日",
 marqueePace: 1,//滚动速度
 marqueeDistance: 0,//初始滚动距离
 marquee_margin: 30,
 size:14,
 interval: 20 // 时间间隔
 },
 
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) { 
 },
 onShow: function () {
 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;//屏幕宽度
 if (length > windowWidth){
  var interval = 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 {
   //console.log("替换");
   that.setData({
   marqueeDistance: 0 // 直接重新滚动
   });
   clearInterval(interval);
   that.scrolltxt();
  }
  }, that.data.interval);
 }
 else{
  that.setData({ marquee_margin:"1000"});//只显示一条不滚动右边间距加大,防止重复显示
 } 
 }
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js代码验证手机号码和电话号码是否合法
Jul 30 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
Dec 04 Javascript
Bootstrap3.0学习教程之JS折叠插件
May 27 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
Jul 27 Javascript
JavaScript中Number对象的toFixed() 方法详解
Sep 02 Javascript
详解angular中如何监控dom渲染完毕
Jan 03 Javascript
微信小程序 封装http请求实例详解
Jan 16 Javascript
微信小程序 商城开发(ecshop )简单实例
Apr 07 Javascript
vue-socket.io跨域问题有效解决方法
Feb 11 Javascript
VSCode launch.json配置详细教程
Jun 18 Javascript
ES6 十大特性简介
Dec 09 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 Vue.js
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
Dec 28 #Javascript
小程序文字跑马灯效果
Dec 28 #Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
Dec 28 #Javascript
Angular使用Restful的增删改
Dec 28 #Javascript
原生js实现公告滚动效果
Jan 10 #Javascript
微信小程序实现文字无限轮播效果
Dec 28 #Javascript
小程序实现左右来回滚动字幕效果
Dec 28 #Javascript
You might like
PHP截取IE浏览器并缩小原图的方法
2016/03/04 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
2015/05/03 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
python编程使用协程并发的优缺点
2018/09/20 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
pytest中文文档之编写断言
2019/09/12 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
职工擅自离岗检讨书
2014/09/23 职场文书
2014年民主评议党员个人总结
2014/09/24 职场文书
2014年党建工作汇报材料
2014/10/27 职场文书
教师年度个人总结
2015/02/11 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
实现一个简单得数据响应系统
2021/11/11 Javascript
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server
MySQL 数据 data 基本操作
2022/05/04 MySQL
MySQL数据库 任意ip连接方法
2022/05/20 MySQL
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL