我得到了一些代码,它们将div放在网页的中间。这段代码在chrome上运行得很好,但出于某种原因,在IE上(我认为它是9或10)它第一次起作用,然后它没有。
为了证明这个问题,这里有一些照片:(忽略你不理解的标志,这就是我的语言)
铬:
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('<span class="x"><span>X</span></span>');
$('.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,如图所示
.product-item-info
是可以在每个产品DIV中找到的矩形的类。
#dimmer
是黑色背景
#product-lb
是必须居中并显示在页面上的div
我希望这是足够的信息!如果您需要更多,请随时询问。
提前致谢!
答案 0 :(得分:-2)
如果您已经在使用jQuery,为什么不在对话框中使用jQueryUI ?
无论如何,如果你想以正常的方式why not use the awesome position:absolute method?
这也适用于div并且与IE7 +兼容,加上这只是一个CSS的东西。