// set up array to contain custom classes of each block element
let blockClsList = [];
// custom block classes pushed into blockClsList array
for (let i = 0; i < document.getElementsByClassName('blocks')
[0].children.length; i++) {
blockClsList.push(document.getElementsByClassName('blocks')
[0].children[i].classList[1]);
};
// ====================== Travelers =========================
const moveRight = (event) => {
let marginPX = 10;
Здесь я установил Интервал для анимации. Я прочитал документацию MDN, и я все еще не уверен, что устанавливаю это на правильный элемент. Нужно ли прикреплять setInterval к классу бокса?
window.setInterval(function () {
// when margin is smaller than 300
if (marginPX < 300) {
marginPX++;
event.target.style.marginLeft = marginPX + 'px';
}
}, 5);
};
// sets event listeners for mousedown on all blocks
for (let i = 0; i < blockClsList.length; i++) {
document.querySelector('.' +
blockClsList[i]).addEventListener('mousedown', moveRight);
};
const moveBack = (event) => {
Здесь я очищаю интервал, чтобы начать moveBack в текущем местоположении, но
Это не работает. Обе анимации пытаются выполнить одновременно.
Должен ли я использовать startanimation и остановить анимацию? Если так, то как бы это выглядело. Я также пытался переместить clearInterval, но мне это не удалось.
window.clearInterval(moveRight);
let marginPX = 300;
window.setInterval(function () {
if (marginPX > 10) {
marginPX--;
event.target.style.marginLeft = marginPX + 'px';
}
}, 5);
};
// sets event listeners for mouseup on all blocks
for (let i = 0; i < blockClsList.length; i++) {
document.querySelector('.' +
blockClsList[i]).addEventListener('mouseup', moveBack);
};