2015-08-05 3 views
2

Я новичок в jQuery и создаю базовый блок, который перемещается влево, если я нажму налево; двигайтесь вправо, если я нажимаю вправо. Он работает отлично. Однако, вместо использования css webkitTransform напрямую, я хотел бы использовать анимацию, чтобы сделать движение более плавным. Вот мой первоначальный код: http://jsfiddle.net/hphchan/c2zzhjwL/.jQuery Анимация Динамическое преобразование

Я просматривал, как это сделать весь день, но до сих пор не может прийти к ответу. Я замечаю, что есть встроенный метод jQuery .animate() и функция step. Однако я не знаю, как это сделать, чтобы это сработало.

Спасибо.

ответ

0

Использование .animate вы можете заменить

$spinner.css("webkitTransform", "translate(" + i + "px, 0)");

с

$spinner.animate({ left: i }, { 
     duration: 500, //change this according to your need 
     step: function(now, fx){ 
      $spinner.css("margin-left", now); 
     } 
}); 

DEMO

Article, если вы хотите более подробно

+0

Есть ли альтернативные методы ... ??? кажется, что этот метод не может создать достаточно плавный перевод ... как обычный перевод CSS do ... например: http://jsfiddle.net/hphchan/pmgn2q5e/1/ – CHANist

+0

@CHANist, в этом случае вы можете попробуйте увеличить значение 'i' до более высокого, потому что это работает' анимация' и 'step'. См. Это ** [DEMO] (http://jsfiddle.net/Guruprasad_Rao/c2zzhjwL/8/) ** –

0

У вас есть очень меньше времени, чтобы оживить вертушку, я предложил бы использовать CSS для того чтобы достигнуть того же результата здесь является example.

#spinner { 
    width : 50px; 
    height : 10px; 
    background-color : #000; 
    -webkit-transition: all .6s; /* Safari */ 
    transition: all .6s; 
} 
+0

Вы можете добиться более плавной анимации, чем метод анимации jQuery – venkat7668

0

С одушевленных вы можете использовать:

$spinner.animate({ 
    left: i 
}, 200); 

Для этого необходимо установить позицию вашего #spinner к абсолютным или относительным. Если вы хотите создать игру, это будет полезно для hitbox.

Demo here

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