我刚制作了一个文本动画(淡入;动画(顶部,不透明度)),最后,文本大约5px左右,然后很快恢复到原来的位置。这只发生在IE中;所有其他主流浏览器都表现正常。
了解它为何会发生,以及如何解决它?我有兴趣特别修复IE7。
感谢。
(PS,我删除了filter属性以避免ClearType故障。)
HTML
<div id="logomarca">
<h1 id="marca">txt</h1>
<p id="spec">txt</p>
</div>
CSS
div#logomarca{
position:absolute;
left:50%;
top:0%;
margin-top:-83px;
margin-left:-83px;
width:160px;
height:45px;
}
p#spec{position:absolute; }
的Javascript
$(document).ready(function(){
$("div#logomarca").show();
$("p#spec").fadeTo(0, 0.00,
function() { if($.browser.msie) { this.style.removeAttribute('filter'); }; }
); //hide() is not working with fadeIn
if($.browser.msie) {
$("p#spec").css({
"margin-top": "8px",
"margin-left": "-165px",
display: "none"
});
};
$("div#logomarca").animate({
top: "+=50%",
opacity: 1.00
}, 2500,
function() { if($.browser.msie) { this.style.removeAttribute('filter'); }; }
);
$(this).delay(3200,function(){
if($.browser.msie) { $("p#spec").show(); };
$("p#spec").fadeTo(0, 0.00 );
$("p#spec").animate({
opacity: 1.00,
top: "+=20"
}, 2500,
function() { if($.browser.msie) {
this.style.removeAttribute('filter');
}; }
);
$(this).delay(3500,function(){
$("p#spec").fadeTo(800, 0.0);
$(this).delay(650,function(){
$("h1#marca").fadeTo(1500, 0.0);
});
});
});
});
答案 0 :(得分:1)
如果您可以发布最小化的工作样本,那么我们可以查看代码。
我最好的猜测是你需要用块级元素(div
或p
)包装你的元素,并为IE提供该元素“position: relative;
”。< / p>
答案 1 :(得分:0)
尝试用固定尺寸包装div。
答案 2 :(得分:0)
将边距更改为填充,看看是否有帮助。我最近遇到了一个非常类似的问题并解决了它。