为什么属性'naturalWidth'并不总是在JS中的背景图像上返回
Why is the attribute 'naturalWidth' not always returned on a background image in JS?
我有一个脚本,看起来像这样:
$(function(){
var backgroundImg = document.querySelector(".image-selector");
var bmyObject = {
backImgNaturalWidth : backgroundImg.naturalWidth,
/*
Rest of the object that is okay
*/
};
/*Rest of my script*/
}
问题是,有时自然宽度取得正确,有时是0,这会破坏使用该数字进行计算的脚本的其余部分。任何关于为什么会发生这种情况或如何解决的想法都将非常棒。
对于那些将通过搜索这个问题的答案来寻找答案的人:您需要监听窗口加载,而不是文档就绪,因为当DOM就绪时,文档就绪将触发,而当DOM、图像等就绪时,窗口加载将触发。所以修改后的代码看起来是这样的:
$(window).load(function(){
var backgroundImg = document.querySelector(".image-selector");
var bmyObject = {
backImgNaturalWidth : backgroundImg.naturalWidth,
/*
Rest of the object that is okay
*/
};
/*Rest of my script*/
});
相关文章:
- 可以在这里为背景图像设置滤镜吗
- 使用 js 将背景图像设置为 HTML
- 如何使用css动画/javascript使具有背景图像的元素出现
- 循环浏览多个身体背景图像
- 背景图像顶部的滚动图像不移动
- 在pdfmake中嵌入背景图像
- 修复选择菜单时的背景图像
- 使用css()设置背景图像;不起作用
- 鼠标悬停时如何居中放大背景图像
- 强制谷歌为javascript背景图像编制索引
- 淡入不带HTML的背景图像
- 具有淡入淡出效果的全背景图像
- 未加载随机背景图像
- 背景图像前显示Javascript警报
- javascript背景图像位置循环
- CSS动画背景图像的过渡越来越暗
- "Ken Burns效应”;悬停背景图像
- 通过ID JavaScript显示随机背景图像
- JavaScript背景图像
- 带有图像和背景图像的ClipTo