JQuery масштабный эффект медленный? - PullRequest
0 голосов
/ 21 июня 2011

У меня есть следующий код 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');

        });

    });

});

Я обнаружил, что выбранный блок масштабируется до 20% очень медленно. Он фактически масштабирует после анимации выбранного блока.

Может кто-нибудь сказать мне, почему это происходит?

MTIA!

1 Ответ

1 голос
/ 21 июня 2011

Я обновил вашу скрипку с (надеюсь) рабочим примером:

http://jsfiddle.net/sk62Y/4/

Ваша проблема заключалась в том, что после того, как вы выбрали обработчик Box.click, у вас было 2 события клика на поле,Каким-то образом это полностью запутало анимацию.

Теперь я просто удаляю оригинальный обработчик щелчков и выбранный элемент Box, когда вы щелкаете по нему, и снова присоединяете его при втором щелчке.

...