Контекст. Я просто пытаюсь изучить Javascript Animation, и я использую CodePen. Я пытаюсь переместить div-блок на определенное расстояние. Я проверил свой код с кодом W3Schools, и ничего не кажется неуместным.Codepen - Основная анимация Javascript не работает
выпуск - анимация не работает. Когда я пытаюсь использовать тот же код в W3Schools, ящик try-it-yourself, он работает.
codepen ссылка - http://codepen.io/tusharsaurabh/pen/xEoXex?editors=1111
var elem = document.getElementById("block");
pos = 0;
var animation = setInterval(doMove, 5);
function doMove() {
pos++;
console.log(pos);
elem.style.left = pos + 'px';
elem.style.top = pos + 'px';
if (pos >= 200) {
clearInterval(animation);
}
}
браузер - Safari
Пожалуйста, дайте мне знать, как сделать анимационную работу в CodePen.
Или просто используйте 'transform: translate (x, y);'. Это может быть сделано с помощью 'elem.style.transform = 'translate (' + pos + 'px,' + pos + 'px)';' –
@IsmaelMiguel, изначально я использовал анимацию CSS3, но я чувствовал, что у меня будет много больше контроля над анимацией с помощью Javascript (я могу быть совершенно неправ здесь), и поэтому я хотел сделать это в Javascript –
@TusharSaurabh У вас есть больше возможностей управления с помощью Javascript. Но в зависимости от того, что вы хотите, вы используете вариант, который подходит. Изменение 'position' может вызвать проблемы с макетом, а' transform: translate (x, y); 'несовместимо со старыми браузерами. Все это зависит –