IE8问题与Jquery定位有关

时间:2010-12-08 12:27:57

标签: javascript jquery css internet-explorer-8 internet-explorer-7

我正在尝试使用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漏洞吗?我该如何解决这个问题?

3 个答案:

答案 0 :(得分:3)

IE中不支持Innerwidth和innerheight(IE9除外)

请参阅quirksmode

您可以使用

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

答案 1 :(得分:2)

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

使用jQuery解决这个问题是最安全的,根据需要使用以下其中一个,

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

答案 2 :(得分:0)