Internet Explorer中心DIV问题

我得到了一些代码,它将div放在网页的中间。 代码在chrome上运行得很好,但出于某种原因,在IE上(我认为它是9或10)它第一次工作,然后它没有。

为了certificate这个问题,这里有一些照片:(忽略你不理解的标志,这就是我的语言)

铬:

在此处输入图像描述

IE第一次点击一个对象打开:

在此处输入图像描述

IE第二次或更多,当我点击一个对象打开时:

在此处输入图像描述

这是我用来居中div的代码:

jQuery.fn.center = function () { this.css("position","fixed"); this.css("top", ($(window).height() / 2) - (this.outerHeight() / 2)); this.css("left", ($(window).width() / 2) - (this.outerWidth() / 2)); return this; } 

使用center()函数的代码:

 $('#products,#search-result').on("click",'.product-item-info',function() { var pid = $(this).find('input').val(); $.get('product_info.php',{pid:pid},function(data){ $('#product-lb').html(data).append('X'); $('.x').click(function() { $('#dimmer').click(); }); $('#dimmer').css({width:$('html').width(),height:$('html').height()}); $('#product-lb').center(); $('#product-lb').show(800); $('#dimmer').show(); $(window).resize(function() { $('#product-lb').center(); }); }); }); 

解释: #products是包含蓝色和绿色的所有彩色div的div, #products .product-item-info是可以在每个产品DIV中找到的矩形类。 #dimmer是黑色背景#product-lb是必须居中并显示在页面上的div

我希望这是足够的信息! 如果您需要更多,请随时询问。

提前致谢!

如果你已经在使用jQuery,为什么不在对话框中使用jQueryUI ?

无论如何你想要正常的方式为什么不使用真棒位置:绝对方法?

这也适用于div并且与IE7 +兼容,加上这只是一个CSS的东西。