我想获取transform属性的translateX()值,并在每次触发onDocumentMouseScroll事件时去掉-400px。我是JavaScript的新手,不知道怎么做,如果有任何帮助,我将不胜感激!
var bg = document.querySelector('section.bg-type');
function moveBackground() {
if (bg.style.transform.translateX != -1600) {
bg.style.transform = "translateX(" + (-400) + "px)";
}
};
function onDocumentMouseScroll(event) {
console.log(event);
if (Date.now() - lastMouseWheelStep > 600) {
lastMouseWheelStep = Date.now();
var delta = event.detail || -event.wheelDelta;
if (delta > 0) {
navigateNext();
addOnScroll();
moveBackground();
} else if (delta < 0) {
navigatePrev();
}
}
}
当用户滚动“transform:translateX(-400px)”属性和值添加到.bg-type的CSS中时,之后的每个滚动中的-400都会被去掉。
发布于 2019-04-23 22:11:41
如何存储最后一个translateX值并更新它?
let lastTranslateX = 0;
function moveBackground() {
if (bg.style.transform.translateX != -1600) {
lastTranslateX -= 400;
bg.style.transform = "translateX(" + (lastTranslateX) + "px)";
}
};
编辑:根据Temani Afif在评论中的建议,删除了lastTranslateX -= 400
之前的let
。
https://stackoverflow.com/questions/55813140
复制相似问题