javascript - 为什么在chrome和firefox下scrollHeight的取值不同?

查看:130
本文介绍了javascript - 为什么在chrome和firefox下scrollHeight的取值不同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我在使用reactJS开发一个图片画廊的应用,最中心的图片的绝对定位高度等于halfStageH - halfImgH,其中halfImgH是图片高度/2。

该图片在firefox和IE11下都居中(如上图),在chrome下居然跑到了最下面(如下图1)。检查后发现,这张图片在FF下的scrollHeight等于它显示的实际高度447,而在chrome下scrollHeight只有136(如下图2)。


请问为什么在chrome下,scrollHeight不等于它的实际高度呢?136px是从何而来,我毫无头绪,望大神解答。

解决方案

我找到了出现这种情况的原因,是React Component在Chrome下的渲染速度太慢了,当componentDidMount执行时,使用findDOMNode获取到的组件对象属性还没有完全渲染出来,所以获取到的height值不等于其真实值。

在外面包覆一层window.onload可以解决这个问题。

这篇关于javascript - 为什么在chrome和firefox下scrollHeight的取值不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆