Css 绝对位置和错误的z指数

Css 绝对位置和错误的z指数,css,z-index,css-position,Css,Z Index,Css Position,情节说明:有一只鸟应该在飞行前收集它的腿。鸟的身体、腿和眼睛是分开的divs的背景图像。我使用jQuery的动画方法来改变腿的位置,并将它们放在鸟的身体内 问题:它们的腿不在鸟身下,而是在鸟身上 问题:我做错了什么,使鸟的腿不在下面 图像: <div id="gonji"> <div class="legs"></div> <div class="body"> <div class="eye"></

情节说明:有一只鸟应该在飞行前收集它的腿。鸟的身体、腿和眼睛是分开的
div
s的
背景图像。我使用jQuery的动画方法来改变腿的位置,并将它们放在鸟的身体内

问题:它们的腿不在鸟身下,而是在鸟身上

问题:我做错了什么,使鸟的腿不在下面

图像:

<div id="gonji">
    <div class="legs"></div>
    <div class="body">
        <div class="eye"></div>
    </div>
</div>
#gonji { width: 80px; height: 55px; position: relative; }
#gonji .body { width: 80px; height: 55px; background: url('../gonji/gonji.png') no-repeat scroll center center transparent; z-index: 998; }
#gonji .eye { width: 5px; height: 4px; background: url('../gonji/gonji_eye.png') no-repeat scroll center center transparent; position: absolute; top: 13px; left: 30px; z-index: 999; }
#gonji .legs{ width: 9px; height: 17px; background: url('../gonji/gonji_legs.png') no-repeat scroll center center transparent; position: absolute; top: 35px; left: 30px; z-index: 1 }
var $gonjiLegs = $("#gonji").find(".legs");
var gonjiOrigLegsPos = $gonjiLegs.position();
$gonjiLegs.animate({ 'top': gonjiOrigLegsPos.top - 17 }, 'fast');
  • HTML:

    <div id="gonji">
        <div class="legs"></div>
        <div class="body">
            <div class="eye"></div>
        </div>
    </div>
    
    #gonji { width: 80px; height: 55px; position: relative; }
    #gonji .body { width: 80px; height: 55px; background: url('../gonji/gonji.png') no-repeat scroll center center transparent; z-index: 998; }
    #gonji .eye { width: 5px; height: 4px; background: url('../gonji/gonji_eye.png') no-repeat scroll center center transparent; position: absolute; top: 13px; left: 30px; z-index: 999; }
    #gonji .legs{ width: 9px; height: 17px; background: url('../gonji/gonji_legs.png') no-repeat scroll center center transparent; position: absolute; top: 35px; left: 30px; z-index: 1 }
    
    var $gonjiLegs = $("#gonji").find(".legs");
    var gonjiOrigLegsPos = $gonjiLegs.position();
    $gonjiLegs.animate({ 'top': gonjiOrigLegsPos.top - 17 }, 'fast');
    
    JS:

    <div id="gonji">
        <div class="legs"></div>
        <div class="body">
            <div class="eye"></div>
        </div>
    </div>
    
    #gonji { width: 80px; height: 55px; position: relative; }
    #gonji .body { width: 80px; height: 55px; background: url('../gonji/gonji.png') no-repeat scroll center center transparent; z-index: 998; }
    #gonji .eye { width: 5px; height: 4px; background: url('../gonji/gonji_eye.png') no-repeat scroll center center transparent; position: absolute; top: 13px; left: 30px; z-index: 999; }
    #gonji .legs{ width: 9px; height: 17px; background: url('../gonji/gonji_legs.png') no-repeat scroll center center transparent; position: absolute; top: 35px; left: 30px; z-index: 1 }
    
    var $gonjiLegs = $("#gonji").find(".legs");
    var gonjiOrigLegsPos = $gonjiLegs.position();
    $gonjiLegs.animate({ 'top': gonjiOrigLegsPos.top - 17 }, 'fast');
    

    您必须更改
    z索引

    z-index:-1
    脚上


    您也可以保持相同的位置,只需在
    .hide()
    .show()
    之间切换,您在
    #gonji.body
    上缺少
    位置
    属性。。z索引仅适用于定位元素

    尝试添加
    位置:相对

    CSS

    #gonji { width: 80px; height: 55px; position: relative; }
    #gonji .body { width: 80px; height: 55px; background:red; z-index: 998; }
    #gonji .eye { width: 5px; height: 4px; background:blue; position: absolute; top: 13px; left: 30px; z-  index: 999; }
    #gonji .feet { width: 9px; height: 17px; background:black; position: absolute; top: 55px; left: 30px; }
    
        $(document).ready(function(){
    setInterval(callMe,1000);
     });
    
    function callMe(){
    var $gonjiFeet = $("#gonji").find(".feet");
    var gonjiOrigFeetPos = $gonjiFeet.position();
    $gonjiFeet.css('z-index','-1').animate({ 'top': gonjiOrigFeetPos.top - 20 }, 'fast');
    $gonjiFeet.animate({ 'top': '55' }, 'fast');
    }
    
    JS

    #gonji { width: 80px; height: 55px; position: relative; }
    #gonji .body { width: 80px; height: 55px; background:red; z-index: 998; }
    #gonji .eye { width: 5px; height: 4px; background:blue; position: absolute; top: 13px; left: 30px; z-  index: 999; }
    #gonji .feet { width: 9px; height: 17px; background:black; position: absolute; top: 55px; left: 30px; }
    
        $(document).ready(function(){
    setInterval(callMe,1000);
     });
    
    function callMe(){
    var $gonjiFeet = $("#gonji").find(".feet");
    var gonjiOrigFeetPos = $gonjiFeet.position();
    $gonjiFeet.css('z-index','-1').animate({ 'top': gonjiOrigFeetPos.top - 20 }, 'fast');
    $gonjiFeet.animate({ 'top': '55' }, 'fast');
    }
    

    我已经尝试了
    z-index:-1
    ,它是有效的,但是我担心在z-index中使用
    -1
    会导致另一个问题,即当更多的元素彼此重叠时。
    hide()
    有什么用?这只是上上下下的问题!我的意思是,您可以在默认情况下隐藏腿,而不是使腿上下移动,
    display:none,然后您可以通过jquery
    .show()
    显示它们。谢谢,但我希望它们可以上下移动!:D