jQuery水平和垂直定位脚本在IE8中不起作用

时间:2012-04-09 21:39:09

标签: javascript jquery html5 css3

继承人的设计 http://vvcap.net/db/OuxLOYioWmjIAavL5N9U.htp

这是一个演示! http://designobvio.us/GoldGrid2/

我正在尝试在IE8上运行纵向和横向jQuery脚本:

脚本代码

<script  type="text/javascript">

    $(document).ready(function(){

     $(window).resize(function(){

      $('.padder').css({
       position:'absolute',
       left: ($(window).width() 
         - $('.padder').outerWidth())/2,
       top: ($(window).height() 
         - $('.padder').outerHeight())/2
      });

     });

     // To initially run the function:
     $(window).resize();

    });

</script>

关于为什么这个脚本在IE8中不起作用的任何想法?

1 个答案:

答案 0 :(得分:2)

您可能希望将高度和宽度声明为数字,以确保数学可以正常工作,因为您要更改CSS,值必须是包含'px'的字符串

left: ((Number($(window).width()) - Number($('.padder').outerWidth()))/2)+'px',
top: ((Number($(window).height()) - Number($('.padder').outerHeight()))/2)+'px'

沿着这些方向,我可能会在CSS之前设置值。

var leftVal = Number($(window).width()) - Number($('.padder').outerWidth())/2;
var topVal = Number($(window).height()) - Number($('.padder').outerHeight()))/2;

然后:

left: leftVal+'px',
top: topVal+'px'

全功能:

$(window).resize(function(){

    var leftVal = Number($(window).width()) - Number($('.padder').outerWidth())/2;
    var topVal = Number($(window).height()) - Number($('.padder').outerHeight()))/2;

    $('.padder').css({
        position:'absolute',
        left: leftVal+'px',
        top: topVal+'px'
    });

});