Javascript HTML5画布:drawImage不适用于Firefox
这段代码在chrome、OperaYandex和ie浏览器中运行,但未能在firefox上运行 代码中的“el”是我的图像(存储方式如下Javascript HTML5画布:drawImage不适用于Firefox,javascript,html,canvas,drawimage,Javascript,Html,Canvas,Drawimage,这段代码在chrome、OperaYandex和ie浏览器中运行,但未能在firefox上运行 代码中的“el”是我的图像(存储方式如下) fadeIn:功能(el){ var self=这个; varα=0; var interval=window.setInterval(函数(){ 如果(α
)
fadeIn:功能(el){
var self=这个;
varα=0;
var interval=window.setInterval(函数(){
如果(α<1){
self.ctx.clearRect(0,0,lotify.Canvas.width,lotify.Canvas.height);
α+=0.01;
self.ctx.globalAlpha=α;
self.ctx.drawImage(el,0,0);
}否则{
间隔时间;
}
});
}
两个对firefox很重要的问题
setInterval需要一个间隔值,我将它设置为1ms
未定义变量alpha。我将其定义为0.01(您可能希望创建一个局部变量,我将其作为全局变量)
在FF上测试
var编辑器={
ctx:“”,
fadeIn:功能(el){
var self=这个;
var interval=window.setInterval(函数(){
如果(α<1){
self.ctx.clearRect(0,0,lotify.Canvas.width,lotify.Canvas.height);
α+=0.1;
self.ctx.globalAlpha=α;
self.ctx.drawImage(el,0,0);
控制台日志(“ALPHA:+ALPHA”);
}否则{
控制台日志(“清除:+alpha”);
间隔时间;
}
},1);
},
};
彩票={};
α=0.01;
tracking.Canvas=document.getElementById(“Canvas”);
editor.ctx=lotket.Canvas.getContext(“2d”);
editor.fadeIn(document.getElementById(“img”)代码>
您可以使用具有跨浏览器兼容性的库。这一个是轻量级的,主要用于图像绘制/动画:点击F12
并检查控制台是否有错误,FF在JavaScript方面没有其他浏览器那么宽容,这很可能是一个代码错误,但如果没有其余的代码,我只能猜测。没有错误,只是没有绘制图像!需要一个测试用例。我记得唯一相关的事情是,来自其他来源的数据可能不会绘制在画布上,以防止泄漏用户的数据。如果不包含setInterval
second参数(时间单位:ms),则FF的行为与Chrome不同Chrome启动得非常快,而FF启动一次则什么也不做。我没等多久就知道了,但已经过了一分钟。
fadeIn: function(el){
var self = this;
var alpha = 0;
var interval = window.setInterval(function(){
if (alpha < 1){
self.ctx.clearRect(0, 0, Lottery.Canvas.width, Lottery.Canvas.height );
alpha += 0.01;
self.ctx.globalAlpha = alpha;
self.ctx.drawImage(el, 0, 0);
} else {
clearInterval(interval);
}
});
}