ja获取一个图片的高度,再赋值给div,怎么刷新一次才显现?

clipboard.png
js先获取了一个图片的高度,然后赋值给一个div的高,为什么刷新后才显示出了,怎么解决,求路过前辈指点,谢谢!

阅读 2.7k
3 个回答

你看看你的 imgHeight 在无效的时候是不是 0?感觉像是执行 js 的时候图片没加载出来没高度。

图片加载非阻塞,整个执行过程需要在 img 的 onload 之后(或者window.onload)再执行。

刷新以后才显示

我猜测过程可能是这样的:

  1. 第一次访问页面,获取宽高(但是图片还没有加载出来,所以失败了。)
  2. 然后图片加载完成了
  3. 第二次访问页面,图片直接读取的缓存
  4. 获取宽高正确

所以说,你的获取offsetHeight要在确定图片已经加载完成后再进行。

clipboard.png

我js在页面下面呀,小弟菜鸟一枚 麻烦前辈再帮忙看一眼

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题