我有以下jquery代码:
$(document).ready(function () {
$('.box').click(function (){
var selectedBox = $(this),
selectedBoxLocationX = selectedBox.offset().left,
selectedBoxLocationY = selectedBox.offset().top;
selectedBox.animate({left:-selectedBoxLocationX, top:-selectedBoxLocationY},600).addClass('current');
otherBoxes = $('.box:not(.current)');
otherBoxes.animate({left:2000},600);
selectedBox.effect('scale', {percent:500, direction: 'vertical'}, 1000);
selectedBox.click(function(){
selectedBox.effect('scale', {percent:20, direction: 'vertical'},200);
otherBoxes.animate({left:0},600);
selectedBox.animate({top: 0, left: 0},700).removeClass('current');
});
});
});
我发现selectedBox缩放到20%的速度非常慢。它实际上在 selectedBox动画之后缩放。
有谁能告诉我为什么会这样?
MTIA!
答案 0 :(得分:1)
我用一个(希望)工作的例子来更新你的小提琴:
你的问题是,一旦你选择了Box.click处理程序,你就有了2个点击事件。不知怎的,这完全混淆了动画。
我现在只需单击selectedBox元素上的原始点击处理程序,然后在第二次单击时重新附加它。