案件回顾:
4个div,根据对应角色,展示3个或者4个div,H5页面展示正常,客户端展示页面要么显示不全,要么展示3个div的时候有4个div的位置。
案件处理: 1、 客户端展示页面需要画个视图、面板之类的东西(不是客户端选手),需要定义展示高度。
所以页面通过window.onload = function () {}); 获取当前页面高度,返给客户端使用。
2、 隐藏每个div,对应角色获取是否展示。隐藏需要使用display:none
<div style="height:100px;visibility:hidden"></div> //对象隐藏后,还有占有相应的空间大小 <div style="height:100px;display:none"></div> //对象隐藏后,对象不占任何空间
3、通过ajax请求的需要注意 async的设置,这里需要用同步的 async:false
async 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,
直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。
async 设置为 false,则所有的请求均为同步请求,在没有返回值之前,
同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
$.ajax({ async: false, type : "post", url : url, datatype : 'json', success : function(data) { } });