J'ai cherché partout une explication au niveau du singe et je ne l'ai trouvé nulle part. J'étudie JS et j'essayais de créer des onglets dans une page, tout va bien sauf que je ne peux pas comprendre un morceau de code dans l'exemple W3SCHOOLS.Onglets Javascript - Pour l'explication de la boucle
HTML:
<div class="tab">
<button class="tablinks" onclick="openCity(event, 'London')">London</button>
<button class="tablinks" onclick="openCity(event, 'Paris')">Paris</button>
<button class="tablinks" onclick="openCity(event, 'Tokyo')">Tokyo</button>
</div>
<div id="London" class="tabcontent">
<h3>London</h3>
<p>London is the capital city of England.</p>
</div>
<div id="Paris" class="tabcontent">
<h3>Paris</h3>
<p>Paris is the capital of France.</p>
</div>
<div id="Tokyo" class="tabcontent">
<h3>Tokyo</h3>
<p>Tokyo is the capital of Japan.</p>
</div>
JS:
function openCity(evt, cityName) {
// Declare all variables
var i, tabcontent, tablinks;
// Get all elements with class="tabcontent" and hide them
tabcontent = document.getElementsByClassName("tabcontent");
for (i = 0; i < tabcontent.length; i++) {
tabcontent[i].style.display = "none";
}
// Get all elements with class="tablinks" and remove the class "active"
tablinks = document.getElementsByClassName("tablinks");
for (i = 0; i < tablinks.length; i++) {
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
// Show the current tab, and add an "active" class to the button that opened the tab
document.getElementById(cityName).style.display = "block";
evt.currentTarget.className += " active";
}
Question:
Quel est le but de la boucle pour y? Pourquoi y a-t-il une variable "i"? Pourquoi tabcontent/links.length est utilisé dans la condition?
J'apprécierais grandement toute aide de votre part. Je vous remercie!
[MDN: instruction 'for'] (https://developer.mozilla.org/fr-fr/docs/Web/JavaScript/Guide/Loops_and_iteration#for_statement) – Andreas
Oui, je veux dire, je les ai étudiés sur SoloLearn et sur W3schools. Je ne sais pas exactement quand appliquer des boucles et pourquoi la variable i = 0. –
Je comprends tout le reste assez bien, sauf cette partie avec le '(i = 0; i