Следующий код jQuery прекрасно работает для меня с Safari, Opera, FF2 и FF3. Он помещает занятый DIV (с анимированным занятым GIF) поверх элемента FORM на моей веб-странице. Проблема заключается в том, что в IE6 и IE7 он правильно получает ширину и высоту, но, похоже, не достигает вершины и левого угла. В чем подвох?
var nH = $('#' + sForm).attr('offsetHeight');
var nW = $('#' + sForm).attr('offsetWidth');
var nT = $('#' + sForm).attr('offsetTop');
var nL = $('#' + sForm).attr('offsetLeft');
$('#busy')
.css('position','absolute')
.css('height', nH + 'px')
.css('width', nW + 'px')
.css('top', nT + 'px')
.css('left', nL + 'px')
.show();
Обратите внимание, что на моей странице есть несколько элементов FORM. (Причина занятого GIF заключается в том, что я отправляю AJAX-сообщение в фоновом режиме при отправке формы.)
Примечание. Я также попробовал значение .position()
в плагине jQuery Dimensions 1.2 для верхнего и левого верхних слоев, и это помогло, но, как мне показалось, значение top
становилось больше по мере того, как я перемещался вниз по странице.