Ответ 1
Возможно, проблема связана с тем, что полосы прокрутки включены в ширину и высоту независимо от того, существуют они или нет. У меня нет IE (на Mac), поэтому не могу проверить.
Однако я могу рассказать вам, что работает в моем проекте jQuery Lightbox У меня нет такой проблемы. Мы используем в нем следующий код:
// Make the overlay the size of the body
var $body = $(this.ie6 ? document.body : document); // using document in ie6 causes a crash
$('#lightbox-overlay').css({
width: $body.width(),
height: $body.height()
});
// ... some code ...
// Get the window dimensions
var $window = $(window);
var wWidth = $window.width();
var wHeight = $window.height();
И наложение отображается правильно. Я бы верю в результат jQuery ширины и высоты по сравнению с результатом native, поскольку jQuery, естественно, должен учитывать любые причуды с браузером.
Важно отметить, что заголовок script выше, по какой-то причине, предпочитает $(document)
над $(document.body)
- я не могу вспомнить извинения: O - возможно, это также решает проблему?