Javascript - 在将图像绘制到画布时将GIF加载冻结(Phonegap / Cordova)

时间:2015-01-12 10:44:38

标签: javascript cordova canvas loading gif

当我将图像绘制到画布上时,加载gif在phonegap / cordova上没有动画效果,代码如下所示:

.hide{
display:none;
}
.absolute{
position:absolute;
}


<div id="loading" class="hide absolute">
<img src="loading.gif"/>
</div>

var drawCanvas = function (img) {

 var element = document.getElementById('loading')
     canvas = document.getElementById('canvas')
     context = canvas.getContext('2d');

     element.classList.remove('hide');

     setTimeout(function () {

      context.drawImage(img,0,0);
     }, 0);

     element.classList.add('hide');
};

我也尝试用css动画替换动画gif,但是它完全相同,浏览器在绘制画布时拒绝为任何动画设置动画

任何帮助表示赞赏

注意:它不是在桌面上,而是在cordova / phonegap中,我想原因是移动设备缺乏硬件性能(在Android平板电脑4.1上测试)

1 个答案:

答案 0 :(得分:1)

尝试增加延迟。延迟0并没有多大帮助,因为没有足够的时间让某些浏览器做其他事情。给一个框架左右。同样从回调内部继续,因为它是异步的:

SKView