当我点击标签时,它会显示并为相应的div设置动画。现在我希望如果我再次点击相同的标签,如果它的相应div保留20,那么它应该离开-30。 fiddle
的jQuery
$('li').click(function(e){
var li= $(this).index()
var off= $(this).offset().top;
$('div').each(function(){
$(this).animate({left:'-30px',top:off},500, function(){
$('div').eq(li).animate({left:'20px',top:off},500)
})
})
})
答案 0 :(得分:1)
如果我理解你的错误,你就不想在将div -30px移到左边之后使用你正在做的动画吗?
$('li').click(function(e){
var li = $(this);
var index = li.index()
var topOffset = li.offset().top;
var isOpen = li.toggleClass('open').hasClass('open');
li.siblings().removeClass('open');
$('div').each(function(){
$(this).animate({ left: '-30px', top: topOffset }, 500, function(){
if(isOpen) {
$('div').eq(index).animate({ left: '20px', top: topOffset}, 500);
}
});
});
});