【发布时间】:2012-07-11 00:17:07
【问题描述】:
目前我正在不同浏览器中测试我的网页的兼容性,但是,我在 Chrome(使用 SRWare Iron)和 IE 中的 jQuery animate() 遇到问题。
我正在使用以下代码:
jQuery
$('.element').animate({top:"50px"}, 1400);
HTML
<h1 class="element">testing text slide</h1>
CSS
body {
overflow: hidden;
}
h1 {
margin: 0;
}
.element {
position: absolute;
bottom: -1000px;
left: 50px;
font: bold 72px Arial, sans-serif;
}
我遇到的问题是,在 Firefox (Aurora) 中,element 从屏幕底部 (-1000px) 滑动到 50px 的顶部锚点。
在 Chrome 和 IE 中,似乎正在发生的事情是 element 从顶部的 0px 滑动到顶部的 50px,因此它非常短。如果我删除 element 的 jQuery 动画,它的位置是 -1000 像素(我认为,它不在屏幕上,所以我认为它就是它所在的位置)。
有人有什么想法吗?我用它制作动画的其他元素在 FF/IE/Chrome 中正常工作。
【问题讨论】:
-
我猜这是因为动画试图从 top 的当前设置值开始动画。如果没有设置,浏览器可以设置为“0”,这将比底部的值具有更高的优先级。如果你使用“top:1000px;”会发生什么而不是“底部:-1000px;”。这只是一个猜测,因为我是用手机写的,无法测试。
-
我将
bottom:-1000px更改为top:1900px并且有效!
标签: javascript jquery html cross-browser srware-iron