页面刚进来就要获取document的高度,但是此时的ajax数据并没有渲染完成,该怎么解决?大牛们求指导!!!
你要在"现在"获取"未来"的document高度?
对的,页面刚加载的时候document的高度仅仅是未渲染数据之前的高度,现在就想获取到渲染数据之后的document高度。后端只返回了ajax的调用方法
@~逍遥★星辰~: 你可以发明一个时间机器.然后用js调用这个时间机器.让时间机器返回未来的高度.
或者将获取dom高度的时间推迟到加载完成后
@吴瑞祥: 我感觉推迟时间应该不太好吧,因为如果用户网速不好的话,请求ajax的时候时间也会长一点,那么这个时间也是不好确定的,至于时间机器,返回未来的高度,还请指教。
一般是不能的,不过你可以尝试去计算出ajax即将加载的数据所需高度,举个栗子,ajax数据是那种列表类型的数据,比如,48个产品,4个为页面一排,每个产品固定高度50,那么ajax数据即将(未来)所需高度就是48/4*50=600px;
如果数据的高宽之类不固定或者无法预知的话,是不可能在数据加载完成之前得出高度的。
哦,那就尴尬了,主要是页面上的ajax不止一个,而且每个ajax数据的内容都也不一样。。。
把获取的document高度的代码,写在window.onload = function(){}内。
这样是不行的,已经试过了,估计是因为window.onload()是加载dom树节点的,跟ajax渲染数据没有关系的原因吧