"Script is broken"但可以使用代码笔



我有一个我想用来在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 () {}

因此,错误可能来自许多地方,但是这解决了我的问题很多次。所以不要忘记尝试更改变量名称。

另一个技巧

保存相同的文件不止一次有时会报告"脚本"被打破。错误。为了避免此错误,请按照以下步骤操作:

  1. 编写一些随机代码使脚本无效。保存(显然会报告一个错误(。
  2. 重新加载页面
  3. 删除随机代码,然后再次保存。现在将被接受。

似乎是执行相同的脚本而没有重新加载报告错误,并且货物认为它是无效的脚本。

相关内容

最新更新