Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于交换两个元素位置的Jquery动画_Javascript_Jquery_Animation_Path_Jquery Animate - Fatal编程技术网

Javascript 用于交换两个元素位置的Jquery动画

Javascript 用于交换两个元素位置的Jquery动画,javascript,jquery,animation,path,jquery-animate,Javascript,Jquery,Animation,Path,Jquery Animate,我有两个元素的位置和大小,我只想在点击第二个元素时交换 <div id="card-1" class="1"> Some Content for 1 </div> <div id="card-2" class="2"> Some Content for 2 </div> 然后我交换类,正如您在最后3行代码中看到的那样,以获得相同的效果 当我第一次点击卡片2(第2类)时,位置和大小会被交换,并且类别也会被切换为div,但是当我点击

我有两个元素的位置和大小,我只想在点击第二个元素时交换

<div id="card-1" class="1">
    Some Content for 1
</div>

<div id="card-2" class="2">
    Some Content for 2
</div>
然后我交换类,正如您在最后3行代码中看到的那样,以获得相同的效果

当我第一次点击卡片2(第2类)时,位置和大小会被交换,并且类别也会被切换为div,但是当我点击卡片1(第2类)时,我没有得到相同的效果。如何再次获得相同的效果

这就是我的页面最初的外观

我希望#div1缩小到#div2当前所在的位置,而#div2扩大到#div1当前点击#div2的位置。像这样的

这正在发生。但是,我希望div在单击#div1时返回到其原始位置。像这样的。 但这并没有发生

我已经为动画使用了课程,所以在第一步之后,我正在交换课程。但我得到的却是这种结果

我无法理解您的确切要求,请您详细说明。请参考此信息,也许它会对您有所帮助。
$(document).on('click', '.2', function(){
    var path_1 = {
        start: { 
          x: 0, 
          y: 0, 
          angle: -120
        },  
        end: { 
          x:0,
          y:360, 
          angle: -120, 
          length: 0.25
        }
    }

    var path_2 = {
        start: { 
          x: 0, 
          y: 0, 
          angle: -180
        },  
        end: { 
          x:0,
          y:-360, 
          angle: -60, 
          length: 0.25
        }
    }

    $(".1").animate({
        width: "-=50%",
        path : new $.path.bezier(path_1)
    }, 2500);


    $(".2").animate({
        width: "+=100%",
        path : new $.path.bezier(path_2)
    }, 2500);

    var x = $('.2').attr('id');
    var y = $('.1').attr('id');

    $('#'+ x +',#'+ y +'').toggleClass('2 1');
});