Javascript范围,使用间隔启动停止按钮

问题描述 投票:-1回答:1

我对范围有疑问。

我有一个不起作用的停止按钮。开始按钮工作得很好但我似乎无法使停止按钮工作,我知道它与范围有关。我将不胜感激任何帮助。

let css = document.querySelector('h3');
let color1 = document.querySelector(".color1");
let color2 = document.querySelector(".color2");
let color3 = document.querySelector(".color3");
let degree = document.querySelector(".degree");
let body = document.getElementById("gradient");
let deg = document.getElementById("deg");
let random = document.getElementById("random");
let start = document.getElementById("start");
let stop = document.getElementById("stop");


function setGradient() {
  body.style.background =
    "linear-gradient(" +
    degree.value +
    "deg, " +
    color1.value +
    ", " +
    color2.value +
    ", " +
    color3.value +
    ")";

  css.textContent = body.style.background + ";";
  deg.textContent = degree.value;
}

function increment() {
  degree.value = 0;
  setInterval(function() {
    degree.value = degree.value % 360 + 1;
    setGradient();
    if (degree.value == 359) {
      increment();
    }
  }, 100);
}

start.addEventListener("click", increment);

stop.addEventListener("click", function() {
  clearInterval(counter);
});

color1.addEventListener("input", setGradient);
color2.addEventListener("input", setGradient);
color3.addEventListener("input", setGradient);
degree.addEventListener("input", setGradient);

window.onload = setGradient;
javascript scope
1个回答
0
投票

您必须分配counter变量。

counter = setInterval(..)

© www.soinside.com 2019 - 2024. All rights reserved.