【发布时间】:2018-03-29 13:30:04
【问题描述】:
我制作了一个小插件,使用naturalHeight 和naturalWidth 获取大小
有时在加载页面时,我的宽度和高度为 0(其他时候效果很好)。 我猜是因为它会在加载图像之前计算大小。
我该如何纠正这个问题?
我尝试在$(document).ready 内运行插件$("selector").myplugin(),但这并没有改变任何东西
我还尝试将setTimeout 包裹在我使用naturalHeight 和naturalWidth 的变量周围,但这并不能阻止其余代码运行——而且我不会让它的加载速度比必要(如果没有必要,将所有内容包装在 setTimeout 中)
所以我的问题 - 有没有办法
- 如果大小为 0 - 稍等片刻再试一次
- 在不再为 0 之前不要继续跑步休息
或者有人有其他解决方案吗?
【问题讨论】:
-
如果你的脚本需要在图片加载后运行,你应该使用
$(window).load()而不是$(document).ready() -
在
img元素上使用onload事件,这里有一些方法:stackoverflow.com/questions/623172/…
标签: javascript jquery image performance size