1

我想使用jquery在视图窗口中间放置一个加载图形。该解决方案,我想出了除了IE8或以上的所有浏览器的工作原理:jquery定位的IE8问题

JS

<script type="text/javascript"> 
     jQuery(document).ready(function(){ 
     jQuery("#loading_spinner").css("left", window.innerWidth/2); 
     jQuery("#loading_spinner").css("top", window.innerHeight/2); 
     }); 
    </script> 

HTML

 <div id='GB_overlay' style="display:none;"> 
     <div id="loading_spinner" style="position:absolute;"> 
      <img src="/img/transparent_loader.gif" alt="#"/> 
     </div> 

出于某种原因,在IE8或更低,微调变得定位在屏幕左上角不是中心。这是一个IE错误?我怎样才能解决这个问题?

+0

什么DOCTYPE是使用网页? IE可能会以怪癖模式渲染页面。 – Catch22 2010-12-08 12:31:55

回答

2

你的问题是window.innerWidth和window.innerHeight不适用于IE。

这是最安全的使用jQuery工作了这一点,请使用以下的要求之一,

$(window).height(); // returns height of browser viewport 
$(document).height(); // returns height of HTML document 
3

Innerwidth和innerheight在IE不支持。(除IE9)

quirksmode

您可以使用

$(window).height()$(window).width()