账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js 作用域的问题
    21
    0

    dom:

    <view :animation="barr.animationIndex" v-for="(barr,index) in dataBarrage" :key="index">{{barr.value}}</view>

    js:

        var _this = this;
    
        for (let i = 0; i < _this.dataBarrage.length; i++) {
            var num = Math.random(); //生成随机数
            var item = _this.dataBarrage[i];
            _this.$set(item, 'x', _this.windowWidth + 200 * num);
            _this.$set(item, 'y', num * 100 + 30);
            _this.$set(item, 'animationIndex', 'animationAll' + i); //存变量名
            //先移到窗口外面的固定位置
            _this.animation.translate(item.x, item.y).step({ duration: 10 });
            item.animationIndex = _this.animation.export();     //第一次赋值
                    
            setTimeout(function() {                    
               _this.animation.translate(-_this.windowWidth - 300, item.y).step();
               item.animationIndex = _this.animation.export();
            }.bind(_this),1000);
        }
    

    我在setTimeout函数里面给item.animationIndex赋值,为什么只有最后一个值生效,前面的 item.animationIndex第一次赋值都是循环后的结果都是正确的,在setTimeout函数里面的时候,给item.animationIndex赋值就只有最后一个生效,是怎么回事呢。应该怎么写呢?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 霹雳猫 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部