我有一个我想用来在Codepen中使用的项目组合中显示项目的代码块,但是当我尝试将其编码到我的货物集体网站中时,它会带回错误的错误。脚本被打破了。HTML和CSS正常工作,只有JS显示错误
<script>
const wheelEventName = (navigator.userAgent)
? "wheel"
: "mousewheel";
const layers = [...document.querySelectorAll(".layer")];
const tracker = document.querySelector(".track-active");
const trackerNumber = document.querySelector(".track-number");
let itemDisplayed = 0;
let animationPlaying = false;
function resetClasses() {
for (let i = 0; i < 4; i++) {
layers[0].children[i].classList.remove("item-displayed");
layers[1].children[i * 2].classList.remove("item-displayed");
}
}
document.addEventListener(wheelEventName, event => {
if (!animationPlaying) {
const nextItem = itemDisplayed + Math.sign(event.deltaY);
if (nextItem >= 0 && nextItem <= 3) {
itemDisplayed += Math.sign(event.deltaY);
layers[0].style = `transform: translateX(${-itemDisplayed * 85}vw);`;
layers[1].style = `transform: translateX(${-itemDisplayed * 85 * 2}vw);`;
layers[1].children[itemDisplayed * 2].classList.add("item-revealed");
resetClasses();
layers[0].children[itemDisplayed].classList.add("item-displayed");
layers[1].children[itemDisplayed * 2].classList.add("item-displayed");
tracker.style = `transform: translateX(${itemDisplayed * 100}%);`;
trackerNumber.innerText = `0${itemDisplayed + 1}`;
setTimeout(() => {
animationPlaying = false;
}, 2200);
animationPlaying = true;
}
}
});
</script>
这是包含HTML和CSS的Codepen链接https://codepen.io/pnshah115/pen/pmjbzz
在我的情况下,我将功能命名为tryUntilDone
,因此我尝试了不同的更改,直到发现问题为止。函数名称的名称发生了冲突。所以我更改了名称,现在起作用了:
来自
function tryUntilDone () {}
to
function _tryUntilDone () {}
因此,错误可能来自许多地方,但是这解决了我的问题很多次。所以不要忘记尝试更改变量名称。
另一个技巧
保存相同的文件不止一次有时会报告"脚本"被打破。错误。为了避免此错误,请按照以下步骤操作:
- 编写一些随机代码使脚本无效。保存(显然会报告一个错误(。
- 重新加载页面
- 删除随机代码,然后再次保存。现在将被接受。
似乎是执行相同的脚本而没有重新加载报告错误,并且货物认为它是无效的脚本。