javascript - 等待添加到 CSS 的图像加载 - JQuery

标签 javascript jquery html css canvas

我有一张图片,我想在上面画画。为此,我使用 jQuery 来隐藏图像:

$("img").hide();

然后我创建一个 Canvas 并将它放在同一个 div 中,在 html 中具有 id drawing。然后我将 Canvas 的背景设置为与我隐藏的图像的 img src 相同。这使它看起来像一个图像,但现在它实际上是一个以图像为背景的 Canvas 。我通过以下方式做到这一点:

$('#drawing > canvas').css('background-image','url('+$(".image img").attr('src')+')');
context.canvas.width = $("img").width();
context.canvas.height = $("img").height();

我遇到的问题是,有时图像不会显示在 Canvas 中,并且 Canvas 不是图像的大小。我认为这可能是因为一些加载问题。我如何才能等待 Canvas 确定在背景中显示图像?谢谢

编辑:请注意,在 DOM 中, Canvas 始终具有正确的 src。它只是不显示它

编辑 2:这是 JSfiddle。在这里,一切似乎都很好,但我的代码中还有很多事情要做,包括从服务器获取内容,因此速度较慢。希望这可以帮助你们理解问题:http://jsfiddle.net/wL3ezLke/2/ 再次感谢

最佳答案

你需要使用:

$(function(){
  // Code executed once the DOM is loaded.
});

官方文档: https://api.jquery.com/ready/

关于javascript - 等待添加到 CSS 的图像加载 - JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26664041/

相关文章:

javascript - 将存储在 XML 中的数据传递给 onCellSelect

zip - 如何使用 zip.js 将多个文件添加到一个 zip 中?

jquery - 替换背景图像 bij jQuery 不适用于移动设备

javascript - 停止悬停并单击没有特定类属性的元素

ios - 当部署到 Firebase 托管时,HTML5 视频无法通过 HTTPS 在 iOS 上播放

html - 将 3 个图像垂直和水平放置在中心

javascript - 如何更新 ExtJS TabPanel 中选项卡的内容?

javascript - 在网页中创建 Div 需要多少内存?

javascript - 默认图像未显示在 WP_Customize_Cropped_Image_Control 的定制器中

javascript - 如何旋转和调整 Canvas 大小,同时保持旋转的纵横比并调整高度?