javascript - 如何防止浏览器绘制的 img 不可见?

标签 javascript html css image event-handling

当我向 DOM 添加新图像时,有时我可以看到图像是从上到下绘制的。是否有一种简单的 javascript 技术或事件处理程序可用于使完整图像仅在浏览器完成绘制/渲染后才显示?

最佳答案

您可以使用 JavaScript 隐藏图像,直到它完全加载。

HTML:

<img id="image" src="...">

JavaScript:

var image = document.querySelector('#image');

image.style.opacity = '0'; //set opacity to 0 (fully transparent)

image.onload = function(){ //when image is loaded, execute function
    image.style.opacity = '1'; //set opacity to 1 (fully visible)
}

因为我在这个例子中使用了不透明度属性,所以您甚至可以为显示的图像设置动画。

CSS:

#image {
    transition: opacity .5s;
}

关于javascript - 如何防止浏览器绘制的 img 不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53622900/

相关文章:

javascript - 从服务器返回的 Backbone 模型中获取属性

html - DIV 无法识别内部 SVG

javascript - 在 ASP.NET 服务器上缩小 CSS 和 JavaScript 的最佳方法是什么?

jquery - 如何使现有网站可主题化?

javascript - 创建一个位于 div 内的 float 框

javascript - 如何动态添加带有文本框的表格行?

javascript - 无法解释为什么 `_.debounce` 会这样工作?

javascript - 悬停时显示/隐藏图像标题

javascript - 解释在 Javascript 中使用引号来更改 CSS 中的背景图像

javascript - 为什么 oninput 事件在 Angular 中的行为与在 JavaScript 中的行为不同?