2010-10-24 55 views
0

我剛剛注意到我的新腳本在ie 7和8中存在問題:偏移和位置。IE不觀察偏移位置

在現代瀏覽器中一切正常,但我不能說明原因IE拒絕堅持我指定的偏移位置的原因..?

jQuery的:

$(document).ready(function() { 

$("#%id%").css("margin" , 0); 
var position = $("#%id%").offset(); 


$("<div/>", { 
    "class": "doosuperoverlay" 
}) 
.prependTo("body") 
.delay(%id=delay%000) 
.fadeOut(%id=fadeout%000); 



var orgStackWidth = $("#%id%").width(); 
var tempClone = $("#%id%").clone(); 
$(tempClone).css({ 
"width" : orgStackWidth + "px", 
"text-align" : "left" 
}); 
$(tempClone).appendTo(".doosuperoverlay").css(position) 
.delay(%id=delay%000) 
.fadeOut(%id=fadeout%000); 


}); 

有一個工作演示page setup here

解決:

var orgStackWidth = $("#%id%").width(); 
var tempClone = $("#%id%").clone(); 
$(tempClone).css({ 
"position" : "relative", 
"width" : orgStackWidth + "px", 
"text-align" : "left" 
}); 

添加位置:相對於答案在腳本的這部分鋪設臨時克隆排序即發出。謝謝大家。

回答

0

offset()返回一個包含頂部和左側屬性的對象。

所以用

$(tempClone).prependTo(".doosuperoverlay").css({top: position.top, left: position.left}) 
.animate({opacity: 1.0}, %id=delay%000) 
.fadeOut(%id=fadeout%000); 

更換

$(tempClone).prependTo(".doosuperoverlay").css(position) 
.animate({opacity: 1.0}, %id=delay%000) 
.fadeOut(%id=fadeout%000); 

認爲,這是要去工作。

+0

您不需要這樣做,對象已經具有它需要的屬性,不需要將它包裝在* another *對象中。 – 2010-10-24 17:53:31

+0

尼克,蒂姆的建議同樣適用,但沒有解決問題。謝謝蒂姆。 – Doobox 2010-10-24 18:08:35