Jquery 单击时设置LI位置的动画
我肯定我错过了一些愚蠢的东西,但我看不见。Jquery 单击时设置LI位置的动画,jquery,jquery-animate,position,html-lists,Jquery,Jquery Animate,Position,Html Lists,我肯定我错过了一些愚蠢的东西,但我看不见。 应该发生的是,在垂直列表中,当单击一个LI时,它将右移10px,如果单击另一个LI,它将向后移动,单击的LI将右移。 这在列表中运行良好,但如果我返回到上一个LI,则上一个选定的LI将按其应有的方式向后移动,但单击的LI没有动画,因此,当您来回单击LI时,LI将继续向后移动 $("#navig li").click(function(){ $("#navig li.selected").animate({ left: "-=10px"
应该发生的是,在垂直列表中,当单击一个LI时,它将右移10px,如果单击另一个LI,它将向后移动,单击的LI将右移。
这在列表中运行良好,但如果我返回到上一个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 );
})
你需要这样的东西吗
如果您调整
left
加号或减号,则对其他条件执行相反的操作,但对相同的位置属性left
单击事件在哪里?、js code?$(“#navig li”)。单击(函数(){始终调整left
属性,不要将left
和right
混合,应该是:“+=10”右:“-=10”连续的charlietfl你是对的,不管是左还是右,但是交换了-/+但不能接受它作为回答。我很好奇,把它作为css的一部分会更好吗?如果你不关心IE7/Ie8,它不支持转换,我会使用css方式谢谢。我玩了一点,但不喜欢等待的美学r的绿色背景上的李出现,我认为添加一个单独的类只是为了动画只是做更多的工作。
$("#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");
});
});