滑动后,保持一个位置

时间:2014-05-01 17:40:52

标签: jquery css

我有两个内容交换他们的位置(例如绿色和红色)。

开始时绿色内容从左侧150px偏移。但是在完整转弯之后,这个内容正从左边恢复到0px。如何使这个内容在完整转弯后从左边返回150px?

点击右上角的“图片按钮”,查看:http://jsfiddle.net/Xroad/CnSEa/7/

$('#content-clients').css('left', '150%');

$('#btn-clients').click(function () {

    $("#main ul:first").animate({
        left: '-150%'
    }, 500, function () {
        $(this).css('left', '150%');
        $(this).appendTo('#main');
    });

    $('#main ul:first').next().animate({
        left: '0'
    }, 500);
});

我发现了! http://jsfiddle.net/Xroad/CnSEa/19/

2 个答案:

答案 0 :(得分:1)

我认为你是在思考这个问题。只需使用toggleClass()添加和删除具有不同left位置的新类。然后,当您删除该类时,它将使用您设置的原始left位置。看一下at this fiddle,您可以看到绿色框在您删除所添加的课程后红色框使用其left:150px时会返回原来的left:0

答案 1 :(得分:0)

你要求在动画中混合px和%时遇到问题。最好是一致的。例如,用0 - $(this).width()替换-150%,用$('#main').width() + $('#main').offset().left替换150%。