Jquery IE'有什么问题吗;左上角是什么?
下面的jQuery代码对我来说在Safari、Opera、FF2和FF3上运行得很好。它将一个忙DIV(带有一个动画的忙GIF)放置在我的网页上的表单元素的顶部。问题是在IE6和IE7中,它正确地获得了宽度和高度,但似乎没有正确地获得顶部和左侧。有什么问题吗Jquery IE'有什么问题吗;左上角是什么?,jquery,css,internet-explorer,Jquery,Css,Internet Explorer,下面的jQuery代码对我来说在Safari、Opera、FF2和FF3上运行得很好。它将一个忙DIV(带有一个动画的忙GIF)放置在我的网页上的表单元素的顶部。问题是在IE6和IE7中,它正确地获得了宽度和高度,但似乎没有正确地获得顶部和左侧。有什么问题吗 var nH = $('#' + sForm).attr('offsetHeight'); var nW = $('#' + sForm).attr('offsetWidth'); var nT = $('#' + sForm).attr(
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();
请注意,在我的页面上有多个表单元素。(GIF之所以繁忙,是因为我在提交表单时正在后台发布AJAX帖子。)
注意:我还尝试了jQuery维度插件1.2的顶部和左侧的
.position()
值,这很有帮助,但似乎随着我在页面中的下移,顶部的值变得越来越小。我让它与jQuery维度插件1.2的顶部和左侧的.position()值一起工作。(它返回一个数组,您可以在其中获取顶部和左侧数组值。)解决方法是,我必须为IE6设置陷阱,只需为顶部减去一些固定数字(在我的例子中为12px),然后在高度上添加相同的数字。在IE7上,我也可以做同样的事情,但由于某种原因,我不得不在头200像素或更少的像素上做不同的顶部和高度计算。您的情况可能会有所不同,具体取决于您以前的CSS、reset.CSS等。是否确实将元素设置为display:block?您还可以通过如下方式传递散列来避免多次调用css函数:
$('#busy')
.css({'position':'absolute',
'height': nH + 'px',
'width', nW + 'px',
'top', nT + 'px',
'left', nL + 'px'})
.show();
目前,jQuery(最新的公开发行版)将维度作为核心功能
尝试使用$(element).offset()(它返回一个具有“left”和“top”属性的对象)。
我经常使用它,对于许多浏览器(ie6/7、opera、safari、chrome、ff2/3)来说都是完美的。谢谢你的提示。我没有想到演出的热播,我应该想到的。你说得对。谢谢你的提示。看来我可以停止使用jQuery维度插件了。我会试试看offset是否能帮我解决这个问题。可能还有一件事可以加快网页速度,并请YSlow。