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()