我正试图将div放在中心,这是我到目前为止所提出的:
function miniWindow(content) {
$('#miniWindow').hide();
$('#miniWindow').css({'top' : '280px', 'left' : '385px'}); //start position
$('#miniContent').html(content); //<-- the problem line
//center the div
setTimeout( function() {
var width = $('#miniWindow').outerWidth();
var height = $('#miniWindow').outerHeight();
$('#miniWindow').css({'left' : '-='+width/2, 'top' : '-='+height/2});
$('#miniWindow').show();
}, 1000);
}
miniWindow('fubar'); //invoke
问题是我需要超时才能给.html()函数设置宽度和高度的时间虽然.html()应该是同步的!?
有没有其他解决方案没有使用超时来解决这个问题?
答案 0 :(得分:2)
outerHeight()和innerHeight()不适用于隐藏元素。
在设置位置(并获取宽度/高度)之前尝试调用$('#miniWindow').show()
。