微信小程序之跑马灯效果(单条数据)

爱被打了一巴掌 2022-12-05 15:20 215阅读 0赞

wxml

  1. <view class="box">
  2. <text style='left:{
  3. {distance}}px;font-size:{
  4. {size}}px'>{
  5. {
  6. text}}</text>
  7. </view>

wxss

  1. .box{
  2. width: 100%;
  3. height: 75rpx;
  4. line-height: 75rpx;
  5. background: #eee;
  6. position: relative;
  7. }
  8. .box text{
  9. font-size: 32rpx;
  10. position: absolute;
  11. top: 0;
  12. white-space: nowrap;
  13. }

js

  1. Page({
  2. data: {
  3. text: '啊哈哈哈,我是跑马灯啦啦啦~啊哈哈哈,我是跑马灯啦啦啦~啊哈哈哈,我是跑马灯啦啦啦~啊哈哈哈,我是跑马灯啦啦啦~',
  4. //初始滚动距离(这里是屏幕宽度)
  5. distance: wx.getSystemInfoSync().windowWidth,
  6. //时间间隔
  7. interver: 30,
  8. //滚动速度
  9. pace: 1,
  10. //字体大小
  11. size: 14
  12. },
  13. onShow: function () {
  14. //获取文字长度
  15. var length = this.data.text.length * this.data.size;
  16. //获取屏幕宽度
  17. var windowWidth = wx.getSystemInfoSync().windowWidth;
  18. this.setData({
  19. length: length,
  20. windowWidth: windowWidth
  21. });
  22. //水平一行文字向左滚动,滚动完了从屏幕右侧出现,继续滚动
  23. this.run();
  24. },
  25. run: function () {
  26. var that = this;
  27. var interver = setInterval(function () {
  28. //文字一直移动到末尾
  29. if (-that.data.distance < that.data.length) {
  30. that.setData({
  31. distance: that.data.distance - that.data.pace
  32. });
  33. } else {
  34. clearInterval(interver);
  35. that.setData({
  36. distance: that.data.windowWidth
  37. });
  38. that.run();
  39. }
  40. }, that.data.interver);
  41. }
  42. })

发表评论

表情:
评论列表 (有 0 条评论,215人围观)

还没有评论,来说两句吧...

相关阅读

    相关 iOS 马灯效果

    做项目的项目的时候,用到了标题滚动的效果(银行,商铺门面上悬挂的电子屏幕滚动信息),找了一下。 写出来分享给大家 1.首先下载这个类文件[下载地址][Link 1]