如何使用jquery来实现堆栈卡从一个地方移动到另一个地方的效果

时间:2013-09-23 09:10:14

标签: jquery effect

如何使用jquery

制作一堆牌从一个地方移动到另一个地方的效果

像这样http://www.linkedin.com/

我尝试了这个,但它不起作用:

   $( "#img2 li" ).each(function() {

    var el = $(this);

    // Make it static
    el.css({
        visibility: 'hidden', // Hide it so the position change isn't visible
        position: 'static'
    });

    // Get the static position
    var end = el.position();

    // Turn it back to absolute
    el.css({
        visibility: 'visible', // Show it
        position: 'absolute'
    }).animate({ // Animate to the static position
        top: end.top,
        left: end.left
    }, function() { // Make it static
        $(this).css('position', 'static');
    });
});

1 个答案:

答案 0 :(得分:0)

我不完全确定这是否是你想要的,但你可以简单地使用switchClass。当然,在这个例子中,您可以将有关位置的信息从css类移动到javascript(您在示例中做了类似的事情):

<强> HTML:

<div class="demo">
    <div class="card card-position">Click this card</div>
    <div id="stack" class="stack-position"></div>
</div>

<强> CSS:

.demo{
    width:600px;
    height:600px;
    border: 1px solid #333;
    margin:15px auto;
    padding:0;
    position: relative;
}

.card, #stack{
    width:110px;
    height:180px;
    border:1px solid #333;
    position:absolute;
}

.card{
    background: #CCC;
    z-index: 2;
}

.card-position{
    left:10px;
    top:10px;
}

#stack{
    background: #222;
    z-index: 1;
}

.stack-position{
    right:10px;
    bottom:10px;
}

<强> JS:

$(document).ready(function(){
    $('.card').click(function(){
        var el = $(this);
        moveCard(el,350);   
    });
});

function moveCard(el,duration){
    el.switchClass( 
        "card-position", 
        "stack-position", 
        duration
    );
}

希望这对你有所帮助。

编辑:哦,请记住switchClass需要jQuery UI。