Firefox使用jQuery动画方法和绝对位置的奇怪行为

firefox's strange behavior using jQuery animate method and absolute position

本文关键字:位置 jQuery 使用 动画 方法 Firefox      更新时间:2023-09-26

当我使用jQuery的(jQuery1.9.1)动画方法时,我遇到了问题。这是我在jsfiddle中的代码:http://jsfiddle.net/AySas/3/我想使用相对百分比使div 更宽,即:

html:
<div id="h_divCenter">
    <div id="h_divIETodos" >
        <div id="h_divIIEodoList" class="quadContent">
            <ul id="h_ulIETodoList">
                <li>itemC 3</li>
            </ul>
        </div>
    </div>

css:
#h_divCenter {
    position:absolute;
    top:0;
    left:20px;
    right:100px;
    bottom:0;
    margin: 5px;
    background: #0FF;
}
.quadContent {
    position: absolute;
    top: 41px;
    bottom: 2px;
    padding: 1px 1% 2px 1%;
    width: 98%;
}
#h_ulIETodoList,#h_ulIUTodoList,#h_ulUETodoList,#h_ulUUTodoList {
    width: 100%;
    height: 100%;
    list-style-type: none;
    overflow: auto;
}
 #h_divIETodos {
    position: absolute;
    margin: 2px;
    top: 0;
    left: 0;
    right: 50%;
    bottom: 50%;
    color: #DE3C3C;
    border: 1px solid #DE3C3C;
     -webkit-box-shadow: 0px 0px 10px #DE3C3C;
     -moz-box-shadow: 0px 0px 10px #DE3C3C;
     box-shadow: 0px 0px 10px #DE3C3C;
 }

javascript:
$('#btnTest').on("click", function(){
    $("#h_divIETodos").animate({
        right: "+=20%"
    },500);
});

这个div有一个绝对的位置,我已经设置了css的顶部,右侧,底部,左侧属性。它在铬中工作正常。但是在 Firefox 中,您可以看到div 的右边缘不能移动"20%"。其他人以前遇到过类似的问题吗?我非常感谢您的帮助。非常感谢!

您可以改用计算像素。按预期工作。

jsFiddle 演示

$('#btnTest').on("click", function(){
        $("#h_divIETodos").animate({
            right: "+=" + ($(this).parent().width() * 0.2) + "px"
        },500);
    });