2015-10-07 2 views
0

Он работает только для вращения или масштабирования, но не работает для обоих.Изменение css (преобразование) в функции шага в JQuery не работает

$({rotation: 0, scale: 1}).animate({ 
      rotation: 360, 
      scale: 3 
     }, { 
      duration: 4000, 
      step: function (now, fx) { 

       var rot, scl; 
       if (fx.prop === 'rotation') { 
        rot = now; 
       } 
       if (fx.prop === 'scale') { 
        scl = now; 
       } 
       $('.inner').css('transform', 'scale(' + scl + ') rotate(' + rot + 'deg)'); 

      } 
     }); 

внутренний - это всего лишь тег h1 внутри внешнего элемента div.

+0

используя ** [TweenMax] (http://greensock.com/gsap) **, это может выглядеть как ** [это] (http://jsfiddle.net/tahirahmed/8Lxqe3mr/) **. –

+0

TweenMax выглядит красиво, спасибо. – Stef

ответ

0

Попробуйте это:

step: function (now, fx) { 

    $('#inner').css('transform', 'scale(' + now + ') rotate(' + now + 'deg)'); 

} 

Оба rot = now; и scl = now; использование now с шага аргумента функции.

DEMO

+0

Вы используете одну и ту же переменную в обоих местах, если вы console.log (сейчас), вы увидите, что она печатает вторую переменную, то есть масштаб, который подтверждает, что div не вращает 360 градусов. – Stef

Смежные вопросы