点击时LI的动画位置

时间:2013-02-13 00:49:21

标签: jquery jquery-animate position html-lists

我确定我在这里错过了一些愚蠢的东西,但我看不到它 应该发生的是,使用垂直列表,当单击LI时,它会动画右10px,如果单击另一个LI,则它向后移动,然后单击的LI向右移动。
这在列表中可以正常工作,但是如果我回到之前的LI,之前选择的一个向后移动,但是点击的LI没有动画,所以当你来回点击时LI继续往后走

$("#navig li").click(function(){
$("#navig li.selected").animate({ 
        left: "-=10px",
      }, 300 );
    $("#navig li.selected").removeClass("selected")

    $(this).addClass("selected")
    $(this).animate({ 
        right: "-=10px",
      }, 300 );
})

2 个答案:

答案 0 :(得分:0)

你需要这样的东西吗?

http://jsfiddle.net/v3LWL

$("#navig li").click(function(){
    var $this  = $(this),
        el = $this.siblings().filter(".selected");

    el.animate({left: 0}, 300, function(){
        $(this).removeClass("selected");
    });

    $this.animate({left: 10}, 300, function(){
        $(this).addClass("selected");
    });

});

答案 1 :(得分:0)

如果您调整left加号或减号,请对其他条件执行相反的操作,但要将其设置为相同的位置属性left