【发布时间】:2014-02-27 13:23:37
【问题描述】:
这个关于crossfading images 的问题已经给出了Canvas 中交叉淡入淡出解决方案的答案。我正在尝试做同样的事情,唯一的区别是我试图淡化在运行时加载的图像。
图像已正确加载,但看不到淡入淡出。由于加载的图像,这不起作用吗?谢谢。
HTML
<div id="wrapper">
<canvas id="bg1"></canvas>
<canvas id="bg2"></canvas>
</div>
JS
var toggle = true;
var canvas = document.getElementById('bg1');
canvas.width = $(document).width();
canvas.height = $(document).height();
var ctx = canvas.getContext('2d');
var canvas2 = document.getElementById('bg2');
canvas2.width = $(document).width();
canvas2.height = $(document).height();
var ctx2 = canvas2.getContext('2d');
var image = new Image();
image.src = 'download1.jpg';
var image2 = new Image();
image2.src = 'download2.jpg';
image.onload = function() {
ctx.drawImage(image, 0, 0, 200, 100);
ctx2.drawImage(image2, 0, 0, 200, 100);
};
$('#wrapper').click(function () {
if (toggle)
{
$('#bg2').fadeIn();
$('#bg1').fadeOut();
}
else
{
$('#bg1').fadeIn();
$('#bg2').fadeOut();
}
toggle = !toggle;
});
【问题讨论】:
标签: javascript jquery html canvas drawimage