你可以把它死的心是這樣的:
$('#elementID').css({
position:'absolute',
top:'50%',
left:'50%',
width:'600px', // adjust width
height:'300px', // adjust height
zIndex:1000,
marginTop:'-150px' // half of height
marginLeft:'-300px' // half of width
});
注意元素將出現在該中心但滾動它不會移動。如果您想讓它出現在中心位置,則需要將position
設置爲fixed
。但是,這在IE6中不起作用。所以決定是你的:)
您還可以創建快捷簡單的jQuery插件:
(function($){
$.fn.centerIt = function(settings){
var opts = $.extend({}, $.fn.centerIt.defaults, settings);
return this.each(function(settings){
var options = $.extend({}, opts, $(this).data());
var $this = $(this);
$this.css({
position:options.position,
top:'50%',
left:'50%',
width:options.width, // adjust width
height:options.height, // adjust height
zIndex:1000,
marginTop:parseInt((options.height/2), 10) + 'px' // half of height
marginLeft:parseInt((options.width/2), 10) + 'px' // half of height
});
});
}
// plugin defaults - added as a property on our plugin function
$.fn.centerIt.defaults = {
width: '600px',
height: '600px',
position:'absolute'
}
})(jQuery);
並在以後使用它像:
$('#elementId').centerIt({width:'400px', height:'200px'});
要居中時調整窗口,你可以使用resize
事件,以防萬一它不是這樣的中心:
$(window).resize(function(){
$('#elementId').centerIt({width:'400px', height:'200px'});
});
爲什麼不把DIV與CSS集中在一起(`width:XXXpx;保證金:汽車;`)? – 2011-04-15 15:16:50
你能發佈你的代碼嗎?我不知道你爲什麼在jQuery而不是CSS中這樣做... – Town 2011-04-15 15:16:54
你可以在我發佈的鏈接上看到代碼 – shaheer 2011-04-15 19:09:13