Я написал небольшой плагин лайтбокса для jQuery (да, есть несколько готовых пакетов - к сожалению, дизайнеру в моей компании не нравится ни один из них).
У меня есть одна небольшая проблема - я использую .load () для загрузки динамического флэш-содержимого в div лайтбокса. Я добавляю div к DOM, предварительно устанавливаю видимость для скрытого и использую .outerHeight (true) и .outerWidth (true), чтобы получить размеры. В Internet Explorer я получаю высоту 61px (поле + 1px).
Предположение: contentContainer уже добавлен в тело dom frag
var remote = $(document.createElement("div"));
remote.css( "margin", "30px" );
var loadURL = $(this).attr( 'href' );
if( typeof( isImage ) == "undefined" || !isImage ){
console.log( "Loading " + loadURL );
contentContainer.append( remote );
remote.load( loadURL, function(){
contentContainer.css( "left", (currWindow.width/2) - (contentContainer.outerWidth(true)/2) )
.css( "top", document.body.scrollTop + (currWindow.height/2) - (contentContainer.outerHeight(true)/2) );
overlay.css( "visibility", "visible" );
contentContainer.css( "visibility", "visible" );
});
}
Базовый div с явно установленными высотой и шириной - это то, что загружается в пульт.
Есть предложения? Я думаю, что это глупо, когда я пытаюсь вычислить высоту и ширину. Это работало с основным изображением, хотя ...
Josh