zoukankan      html  css  js  c++  java
  • 实现一个微信小程序组件:文字跑马灯效果

    • marquee.json
    {
      "component": true,
      "usingComponents": {}
    }
    • marquee.wxml
    <!--components/marquee.wxml-->
    <view class='marquee_container'>
      <view class='marquee_text' style='{{ orientation }}:{{ marqueeDistance }}px;font-size: {{size}}px;'>
        {{ text }}
      </view>
    </view>
    • marquee.wxss
    /* components/marquee.wxss */
    .marquee_container {
      position: relative;  
      width: 100%;
    }
    
    .marquee_text {
      position: absolute;
      white-space: nowrap;
      top: 0;
    }
    • marquee
    // components/marquee.js
    Component({
      /**
       * 组件的属性列表
       */
      properties: {
        text: {
          type: String,
          value: 'ILoveEwei'
        }
      },
    
      /**
       * 组件的初始数据
       */
      data: {
        marqueePace: 1,
        marqueeDistance: 0,
        size: 14,
        orientation: 'left',
        interval: 20
      },
    
      /**
       * 组件的方法列表
       */
      methods: {
        _scrolling: function() {
          var _this = this;
          var timer = setInterval(()=> {
            if(-_this.data.marqueeDistance < _this.data.length) {
              _this.setData({
                marqueeDistance: _this.data.marqueeDistance - _this.data.marqueePace
              })
            } else {
              clearInterval(timer);
              _this.setData({
                marqueeDistance: _this.data.windowWidth
              });
              _this._scrolling();
            }
          },_this.data.interval);
        }
      },
    
      created: function() {
        var _this = this;
        var length = _this.data.text.length * _this.data.size;
        var windowWidth = wx.getSystemInfoSync().windowWidth
        _this.setData({
          length: length,
          windowWidth: windowWidth
        });
        _this._scrolling();
      }
    })

    以上就是我定义在components文件夹的组件,剩下就是引用组件

    • demo.json
    {
      "usingComponents": {
        "marquee": "../../components/marquee"
      }
    }
    • demo.wxml
    <marquee text="我爱你我爱你我爱你"></marquee>  

    转 : https://www.jianshu.com/p/0ff03e5e942e

  • 相关阅读:
    mongodb简介
    tomcat简介
    date的详细说明
    30岁前成功的12条黄金法则
    2012春晚经典语录
    统计文件中某个单词出现的次数
    nginx简介
    ATM取款机系统模拟仿真
    十三种时间管理方法
    笔试常见的智力题 附答案
  • 原文地址:https://www.cnblogs.com/fps2tao/p/11163938.html
Copyright © 2011-2022 走看看