小程序文字跑马灯效果


Posted in Javascript onDecember 28, 2018

本文实例为大家分享了小程序文字跑马灯效果的具体代码,供大家参考,具体内容如下

market.wxml

<!--pages/market/market.wxml-->
<view>1 显示完后再显示</view>
<view class="example"> 
 <view class="marquee_box">
 <view class="marquee_text" style="{{orientation}}:{{marqueeDistance}}px;font-size: {{size}}px;">
 {{text}}
 </view>
 </view> 
</view>
 
<view>2 出现白边后即显示</view>
<view class="example">
 <view class="marquee_box">
 <view class="marquee_text" style="{{orientation}}:{{marqueeDistance2}}px;font-size: {{size}}px;"> 
 <text>{{text}}</text>
 <text wx:if="{{marquee2copy_status}}" style="margin-left:{{marquee2_margin}}px;">{{text}}</text>
 </view>
 </view>
</view>

market.wxss

/* pages/market/market.wxss */
.example {
 display: block;
 width: 100%; 
 height: 100rpx;
 
} 
 
.marquee_box {
 width: 100%;
 position: relative;
 
}
 
.marquee_text {
 white-space: nowrap;
 position: absolute;
 top: 0;
 
}

js:

Page({
 
 data: {
 
 text: '这是一条会滚动的文字滚来滚去的文字跑马灯,哈哈哈哈哈哈哈哈',
 marqueePace: 1,//滚动速度 
 marqueeDistance: 0,//初始滚动距离
 marqueeDistance2: 0, 
 marquee2copy_status: false, 
 marquee2_margin: 60, 
 size: 14,
 orientation: 'left',//滚动方向
 interval: 20 // 时间间隔
 
 },
 
 onShow: function () {
 // 页面显示
 var vm = this; 
 var length = vm.data.text.length * vm.data.size;//文字长度
 var windowWidth = wx.getSystemInfoSync().windowWidth;// 屏幕宽度
 vm.setData({
 length: length, 
 windowWidth: windowWidth,
 marquee2_margin: length < windowWidth ? windowWidth - length : vm.data.marquee2_margin//当文字长度小于屏幕长度时,需要增加补白
 });
 
 vm.run1();// 水平一行字滚动完了再按照原来的方向滚动
 vm.run2();// 第一个字消失后立即从右边出现
 
 },
 
 run1: function () {
 var vm = this; 
 var interval = setInterval(function () {
 if (-vm.data.marqueeDistance < vm.data.length) { 
 vm.setData({
  marqueeDistance: vm.data.marqueeDistance - vm.data.marqueePace,
 
 });
 
 } else {
 
 clearInterval(interval);
 vm.setData({
  marqueeDistance: vm.data.windowWidth
 });
 vm.run1();
 
 }
 }, vm.data.interval);
 },
 
 run2: function () { 
 var vm = this;
 var interval = setInterval(function () {
 if (-vm.data.marqueeDistance2 < vm.data.length) {
 // 如果文字滚动到出现marquee2_margin=30px的白边,就接着显示 
 vm.setData({ 
  marqueeDistance2: vm.data.marqueeDistance2 - vm.data.marqueePace,
  marquee2copy_status: vm.data.length + vm.data.marqueeDistance2 <= vm.data.windowWidth + vm.data.marquee2_margin,
 });
 } else {
 if (-vm.data.marqueeDistance2 >= vm.data.marquee2_margin) { // 当第二条文字滚动到最左边时 
  vm.setData({
  marqueeDistance2: vm.data.marquee2_margin // 直接重新滚动
  });
 
  clearInterval(interval);
  vm.run2();
 } else {
 
  clearInterval(interval);
  vm.setData({
  marqueeDistance2: -vm.data.windowWidth
  });
  vm.run2();
 }
 }
 }, vm.data.interval);
 }
})

效果图:

小程序文字跑马灯效果

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

Javascript 相关文章推荐
JS实现仿苹果底部任务栏菜单效果代码
Aug 28 Javascript
jQuery插件Timelinr 实现时间轴特效
Oct 04 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
May 05 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
Feb 10 Javascript
vue.js利用defineProperty实现数据的双向绑定
Apr 28 Javascript
react系列从零开始_简单谈谈react
Jul 06 Javascript
Node做中转服务器转发接口
Oct 18 Javascript
解决vue-cli3 使用子目录部署问题
Jul 19 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
对layui数据表格动态cols(字段)动态变化详解
Oct 25 Javascript
js实现select下拉框选择
Jan 11 Javascript
浅析JavaScript中的变量提升
Jun 01 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
Dec 28 #Javascript
Angular使用Restful的增删改
Dec 28 #Javascript
原生js实现公告滚动效果
Jan 10 #Javascript
微信小程序实现文字无限轮播效果
Dec 28 #Javascript
小程序实现左右来回滚动字幕效果
Dec 28 #Javascript
原生JS实现的自动轮播图功能详解
Dec 28 #Javascript
jQuery实现的自定义轮播图功能详解
Dec 28 #jQuery
You might like
php一些公用函数的集合
2008/03/27 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
7个Javascript地图脚本整理
2009/10/20 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
原生JS实现简单的倒计时功能示例
2018/08/30 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
jQuery选择器选中最后一个元素,倒数第二个元素操作示例
2018/12/10 jQuery
Javascript迭代、递推、穷举、递归常用算法实例讲解
2019/02/01 Javascript
vue el-table实现行内编辑功能
2019/12/11 Javascript
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
Python之列表实现栈的工作功能
2019/01/28 Python
Django Celery异步任务队列的实现
2019/07/24 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
有机童装:Toby Tiger
2018/05/23 全球购物
在数据文件自动增长时,自动增长是否会阻塞对文件的更新
2014/05/01 面试题
某公司部分笔试题
2013/11/05 面试题
播音主持女孩的自我评价分享
2013/11/20 职场文书
年终考核评语
2014/01/19 职场文书
乌鸦喝水教学反思
2014/02/07 职场文书
慈善晚会策划方案
2014/05/14 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
2015年环卫工作总结
2015/04/28 职场文书
地道战观后感300字
2015/06/04 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python