Mam kontrad.F, naciśniesz Liczyć od 0 do 9. Chcę, aby przycisk wyłącza liczbę, a zamiast (0-9) wyświetlaczy (-). Jeśli ponownie naciśniesz, aby ponownie aktywować liczbę itp.

Do tej pory znalazłem. Po naciśnięciu przycisku włącza się do -, ale gdy licznik trafia do 2, ponownie zapisuje liczby (2 3 etc). Wiem, że to brzmi łatwo, ale chciałem twojej wartościowej pomocy. Dzięki

HTML

    <button id="numbers" onclick="changetoText();">--</button>

JAVASCRIPT

function changetoText() {
numbers.innerHTML = numbers.innerHTML.replace(/1/g, "--");
numbers.innerHTML = numbers.innerHTML.replace(/2/g, "--");

Itp..

0
Alex 20 marzec 2021, 02:26

2 odpowiedzi

Najlepsza odpowiedź

Użyj funkcji SetInterval, aby uruchomić kod co X milisekund. W takim przypadku chcesz zwiększyć liczbę w każdym znaczeniu. Funkcja ClearSterval anuluje określony interwał.

const button = document.querySelector("#numbers");

let number = 0;
let paused = false;
let numbersInterval;

function toggleCounting() {
  if (isCounting()) {
    pause();
  } else {
    count();
  }
}

function isCounting() {
  return button.innerHTML.match(/\d/g);
}

function count() {
  paused = false;
  numbersInterval = setInterval(every1Second, 1000);
}

function every1Second() {
  if (!paused && number < 9) {
    button.innerHTML = ++number;
  } else {
    clearInterval(numbersInterval);
    if (number === 9) {
      reset();
    }
  }
}

function pause() {
  paused = true;
  clearInterval(numbersInterval);
  button.innerHTML = "--";
}

function reset() {
  button.innerHTML = "Play";
  number = 0;
}
<button id="numbers" onclick="toggleCounting()">Play</button>
0
Tecnogirl 20 marzec 2021, 09:02

Więc czyta innerhtml w każdym "correctStep". Spróbuj z warunkami, jeśli / w przeciwnym razie. Na przykład , jeśli grają , pokaż mi innerhtml "1-9", inaczej , jeśli kliknę przycisk, pokaż mi "-" dla całego wzoru.

    function changetoText(text) {
  var x = document.getElementById("numbers");
  if (x.innerHTML === "--") {
    x.style.display = "block";
  } else {
    x.innerHTML = "--";
  }
}
0
ricky 20 marzec 2021, 02:18