1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| <!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8"/>
<title>Calculs pas à pas</title>
</head>
<body>
<div id="dev">
<div></div>
<ul id="liste"></ul>
<div>
<input type="button" id="next" value="Show next step" />
<input type="button" id="back" disabled="disabled" value="Reset" />
</div>
</div>
<script>
document.addEventListener("DOMContentLoaded",()=>{
// conteneur + liste
const dev=document.querySelector("#dev"),
ul=document.querySelector("#liste");
// insertion des étapes du calcul dans la liste
const calcul=["(x+1)²","(x+1)(x+1)","x(x+1) + 1(x+1)","(x²+x) + (x+1)","x² + (x + x) + 1","x² + 2x + 1"];
dev.firstElementChild.textContent=calcul[0]+" = ";
calcul.forEach((v,i)=>{
if(i>0){
let li=document.createElement("li");
li.textContent=v;
ul.append(li);
}
})
// items
const res=dev.querySelectorAll("#liste li");
// définition du style des éléments précédents
dev.style.cssText="display:flex;justify-content:flex-start;margin:20px";
ul.style.cssText="list-style-type:none;margin:0px;padding:0px";
res.forEach(v => v.style.cssText="margin:0px 20px 5px 5px;visibility:hidden");
// activation de la visibilité des éléments de la liste en cliquant sur le bouton
document.querySelector("#next").addEventListener("click",e =>{
document.querySelector("#back").disabled=false;
let hide= Array.from(res).find(v => v.style.visibility=="hidden")
if(hide){
hide.style.visibility="visible";
if(res[res.length-1].style.visibility=="visible"){
e.target.disabled=true
}
}
})
// reset
document.querySelector("#back").addEventListener("click",e =>{
res.forEach(v => v.style.visibility="hidden");
e.target.disabled=true;
document.querySelector("#next").disabled=false;
})
})
</script>
</body>
</html> |
Partager