当前位置: 首页 > 图灵资讯 > 技术篇> 微信小程序-通知滚动小提示

微信小程序-通知滚动小提示

来源:图灵教育
时间:2023-06-01 09:42:15

一、前期准备工作

软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

1、基本需求。
  • 当我们学习微信小程序或做项目时,我们应该遇到滚动通知的效果,那么我们应该如何编写滚动通知功能呢?
  • 今天,我们来谈谈微信小程序滚动通知效果的实现。今天,我们将分享这样的小教程。我希望它能帮助你
2、案例目录结构

微信小程序-通知滚动小提示_html

第二,程序实现的具体步骤1。滚动通知1index.wxml代码

<view> 显示后再显示</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> 白边出现后即显示</view><view class="example">  <view class="marquee_box">    <view class="marquee_text" style="{{orientation}}:{{marquedistance2}px;font-size: {{size}}px;">      <text>{{text}}</text>      <text wx:if={{marquee2copy_status}}" style="margin-left:{{marquee2_margin}}px;">{{text}}</text>    </view>  </view></view>

2.滚动通知1index.wxss代码

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

3.滚动通知1index.js逻辑代码

a.滚动通知1部分的功能实现

// pages/home/marquee/marquee.jsPage({  data: {    //略略略...  },  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.marquedistance2 < vm.data.length) {        // 如果文本滚动到marquee2_margin=30px的白边,就接着显示        vm.setData({          marquedistance2: vm.data.marquedistance2 - vm.data.marqueePace,          marquee2copy_status: vm.data.length + vm.data.marquedistance2 <= vm.data.windowWidth + vm.data.marquee2_margin,        });      } else {        if (-vm.data.marquedistance2 >= vm.data.marquee2_margin) { // 当第二条文本滚到最左边时          vm.setData({            marquedistance2: vm.data.marquee2_margin // 直接再次滚动          });          clearInterval(interval);          vm.run2();        } else {          clearInterval(interval);          vm.setData({            marquedistance2: -vm.data.windowWidth          });          vm.run2();        }      }    }, vm.data.interval);  }})

三、案例运行效果图

微信小程序-通知滚动小提示_微信小程序_02

微信小程序-通知滚动小提示_微信小程序_03

四、总结和备注

暂时没有微信小程序-通知滚动提示