收藏
评论

自己写了一个简单的打字机效果

wechatide://minicode/D93ZS9m57jS0


代码如下

<view class="intro">{{text}}<text hidden='{{cursor}}'>|</text></view>
const app = getApp()
const keyboard = wx.createInnerAudioContext();
keyboard.src= "/keyboard.mp3";
keyboard.loop = true;
Page({
  data: {
    text:"",
    cursor:false,
  },
  arr:'我们欢迎你的到来,abdewofe dl soo 99,22'.split(""),
  key:0,
  onLoad: function () {
    var that =this;
    this.twinkle_start();
    keyboard.play();
    that.show_text(that.key);
    //this.twinkle_stop();
  },
  show_text:function(key){
    var that = this;
    if(key>=that.arr.length){
      that.twinkle_stop();
      keyboard.stop();
      return;
    }
    that.setData({
      text: that.data.text + that.arr[key]
    })
    setTimeout(function () {
      that.show_text(key+1);
    }, 500);
  },
  /**
   * 开始闪烁
   */
  twinkle_start:function(){
    this.run_twinkle = true;
    this.twinkle_cursor();
  },
  /**
   * 停止闪烁
   */
  twinkle_stop:function(){
    this.run_twinkle = false;
    this.setData({
      cursor: true,
    })
  },
  /**
   * 闪烁光标
   */
  twinkle_cursor:function(){
    if(!this.run_twinkle){
      return ;
    }
    var that = this;
    this.setData({
      cursor: !that.data.cursor
    })
    setTimeout(function () {
      that.twinkle_cursor();
    }, 600);
  }
})


最后一次编辑于  2018-08-22
收藏

9 个评论

  • yangxuqing
    yangxuqing
    2019-03-08

    这个效果不错,估计可以用来模拟input组件

    2019-03-08
    赞同
    回复
  • 🇯  🇶
    🇯 🇶
    2018-10-15

    谢谢分享

    2018-10-15
    赞同
    回复
  • 不善表达
    不善表达
    2018-09-08

    正想做一个这个效果

    2018-09-08
    赞同
    回复
  • kim
    kim
    2018-08-22

    代码片段没了呀,我还想学习习


    2018-08-22
    赞同
    回复
  • 常见
    常见
    2018-07-30

    厉害,值得学习

    2018-07-30
    赞同
    回复
  • Pepsi
    Pepsi
    2018-07-27

    onLoad中的方法写在onReady中更好一些


    2018-07-27
    赞同
    回复
  • 卢霄霄
    卢霄霄
    2018-07-24

    嘿嘿,打字速度设成50比较合适

    2018-07-24
    赞同
    回复
  • 兔六哥
    兔六哥
    2018-07-24

    打字速度500ms,闪烁速度600ms,可以自己调节

    2018-07-24
    赞同
    回复
  • Brave 🎈
    Brave 🎈
    2018-07-24

    每次输出的时候,光标是常亮的。 停止输入了光标才开始闪烁

    2018-07-24
    赞同
    回复
登录 后发表内容