点击reset函数也调用动画的bug处理!

来源:3-4 动画效果

班大师

2017-03-21 12:38

这个程序有BUG,当我点击SHOW的按钮当图片显现出来后赶紧在点击reset按钮,动画从新播放了,而且图片显现出来了!解决办法:可以在全局定义一个动画名称,然后在reset函数中的时候首先调用clearInterval(函数名),这样就没有以上的问题了,我试了很多遍都可以,大家可以试一试

写回答 关注

2回答

  • 慕粉_郎朗
    2017-04-16 16:26:06

    可以先定义一个变量存储定时器的状态,

    代码可以这样写:

    var state = false;
    function reset(){
        clearInterval(timer);
        inintCanvas();
        state = true;

    }

    function show(){
        var timer = setInterval(function(){
            slippingRegion.r +=20;
        draw(img,slippingRegion);
        if (slippingRegion.r>= 2*Math.max(oCanvas.width,oCanvas.height)||state) {
            clearInterval(timer);
            state = false;
        }
        },30);
        
    }


  • qq__浅唱那囙忆_03434750
    2017-04-05 23:38:43

    那是show函数情况下设置的每30毫秒增加20像素的上限没有大于设定的上限,动画还没有清除的原因

Canvas玩儿转红包照片

教你玩儿转微信红包照片模糊效果,图像展示效果,深入了解canvas

55911 学习 · 67 问题

查看课程

相似问题