div 隐藏、显示 .height()获取页面高度为0或者太高的问题

案件回顾:
    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) {
   }
});
 
  
 
 

猜你喜欢

转载自www.cnblogs.com/start-fxw/p/9144638.html