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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    一个关于anime.js的问题
    26
    0

    话不多说上代码!

    $(function(){
        var change_ani = anime({
            targets: ['.item'],
            color: {
                value: function () {
                    var r = parseInt(Math.random() * 255);
                    var g = parseInt(Math.random() * 255);
                    var b = parseInt(Math.random() * 255);
                    return 'rgb(' + r + ',' + g + ',' + b + ')';
                }
            },
            easing: "easeOutExpo",
            // loop:true, //循环
            // direction: 'alternate', //返回状态
            autoplay: false
        });
        $('.btn').on('click', function () {
            change_ani.restart();
        }); });
    

    这是我写的一个关键词切换效果,但是问题是每次点击按钮触发动画的时候他都是取得同一个随机数,这样就达不到我要的效果,我希望是每次点击按钮的时候它都取不同的值.
    简单点:
    我希望每次点击按钮时都取一个随机数,而不是只能取一次随机数下次点击的时候还是那个随机数。

    问题已经解决
    主要还是我的代码严谨度不够高
    anime的对象需要纯在于 监听事件中才可以  放在事件外面就无法监听到对应的值进行改变 看来我还要把js的基础好好巩固下了。
    解决代码如下:
        $(function(){
        $('.btn').on('click', function () {
            var a=5;
            var b=20;
            var change_ani = anime({
                targets: ['.item'],
                translateX:function (target) {
                    // return target.getAttribute('data-left');
                },
                translateY:function (target) {
                    // return target.getAttribute('data-top');
                },
                fontSize: function () {
                    return anime.random(a,b);
    
                },
                color: {
                    value: function () {
                        var r = parseInt(Math.random() * 255);
                        var g = parseInt(Math.random() * 255);
                        var b = parseInt(Math.random() * 255);
                        return 'rgb(' + r + ',' + g + ',' + b + ')';
                    }
                },
                easing: "easeOutExpo",
                // loop:true, //循环
                // direction: 'alternate', //返回状态
                autoplay: false,
                complete:function () {
                    // anime.remove('.item');
                    a=anime.random(2,5);
                    b=anime.random(15,20);
                    console.log(a,b)
                }
            });
            change_ani.restart();
        });
    });
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 踏雪寻芳华 普通会员 1楼

      当然,我很乐意帮助你解决anim.js的问题。请问你遇到了什么问题呢?

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