11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour, je début dans la programmation, je suis entrain de créer une calculatrice
mon problème c'est que je n'arrive pas afficher le numéro sur lequel j'ai cliqué sur l'écran.
je vous remercie d'avance pour votre aide


 <div class="calculatrice">
      <div class="display"> 
          <div id="display-calc">0</div>
      </div>
      <div class="touch">
        <button class="operator" >+</button>
        <button class="operator" >-</button>
        <button class="operator">&times</button>
        <button class="operator">/</button>
        <button class="number">7</button>
        <button class="number">8</button>
        <button class="number" >9</button>
        <button class="number">4</button>
        <button class="number">5</button>
        <button class="number">6</button>
        <button class="number">1</button>
        <button class="number" >2</button>
        <button class="number" >3</button>
        <button class="number" id="#radius">0</button>
        <button class="number">.</button>
        <button class="reset" id="AC">AC</button>
        <button class="egual" id="egual">=</button>
         </div>
      </div>
 


let numbers= document.querySelectorAll(".number")
let display = document.querySelector("#display")
let operators = document.querySelectorAll(".operator")

let arrayNumbers;

function number(){
 arrayNumbers = Array.from(numbers)
for(let n = 0; n < arrayNumbers.length; n++){
    arrayNumbers[n].addEventListener("click", function(e){
    arrayNumbers[n].innerHTML
    })
}
}
display.innerHTML = number() 
Hello,

sinon à la place de ça:

let numbers= document.querySelectorAll(".number")
arrayNumbers = Array.from(numbers)
for(let n = 0; n < arrayNumbers.length; n++){
//
}

tu peux directement écrire ça:

const arrayNumbers = document.getElementsByClassName("number");
for ( let n = 0; n < arrayNumbers.length; n++ ) {
//
}


Je pense même que dans ton code, "numbers" c'est déjà un array mais je n'utilise pas trop querySelectorAll donc à confirmer.
C'est juste pour info hein, ton code fonctionne pareil Smiley smile
Bonjour merci pour l'info, je vais faire comma ça en faite j'aimerai afficher le numéro sur lequel j'ai cliqué sur l'ID "display-calc ça fait plus d'une une heure que je cherche une solution je ne trouve pas
est-il possible de me donner une piste?
je vous remercie
Petit indice:

<!DOCTYPE html>
<html>

	<head>
		
		<script>
		
			document.addEventListener('DOMContentLoaded', function () {
		
				const touchNumbers = document.getElementsByClassName("number");
				
				for ( let n = 0; n < touchNumbers.length; n++ ) {
				
					touchNumbers[n].addEventListener("click", function () {
					
						displayCalc.innerText = touchNumbers[n].innerText;
					
					});
				
				}

			});
		
		</script>

	</head>

	<body>

		<div class="calculatrice">
		
			<div class="display">
				<div id="displayCalc">0</div>
			</div>
			
			<div class="touch">
			
				<button class="operator" >+</button>
				<button class="operator" >-</button>
				<button class="operator">&times</button>
				<button class="operator">/</button>
				<button class="number">7</button>
				<button class="number">8</button>
				<button class="number" >9</button>
				<button class="number">4</button>
				<button class="number">5</button>
				<button class="number">6</button>
				<button class="number">1</button>
				<button class="number" >2</button>
				<button class="number" >3</button>
				<button class="number" id="#radius">0</button>
				<button class="number">.</button>
				<button class="reset" id="AC">AC</button>
				<button class="egual" id="egual">=</button>
			
			</div>
		
		</div>

	</body>
	
</html>
Meilleure solution