• 实现一个微信小程序组件:文字跑马灯效果


    • 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

  • 相关阅读:
    python—虚拟环境搭建
    pytnon—线程,进程
    python——新excel模块之openpyxl
    装饰器——应用
    css样式
    HTML
    广图登陆知网下载资源教程
    使用k-近邻算法改进约会网站的配对效果
    k-近邻算法概述
    机器学习基础
  • 原文地址:https://www.cnblogs.com/fps2tao/p/11163938.html
Copyright © 2020-2023  润新知