Outils pour utilisateurs

Outils du site


brouillon7

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
brouillon7 [2026/04/22 20:04] nanakibrouillon7 [2026/04/22 20:07] (Version actuelle) nanaki
Ligne 210: Ligne 210:
 <script> <script>
  
-/* ===================== POINTS ===================== */ +let max 15;
-let skills = document.querySelectorAll(".skill"); +
-let counter document.getElementById("points");+
  
-skills.forEach(=> { +document.querySelectorAll(".skill").forEach(cb=>{ 
-s.addEventListener("change", () => { +cb.addEventListener("change", ()=>{ 
-let total = 0; +let total = document.querySelectorAll(".skill:checked").length
-skills.forEach(c => { if(c.checked) total++}); +if(total > max){ cb.checked = false; return; } 
- +points.innerText = total;
-if(total > 15){ +
-s.checked = false; +
-return; +
-+
-counter.textContent = total;+
 }); });
 }); });
  
-/* ===================== FILTRE + RECHERCHE ===================== */ +function filter(){ 
-let filter = document.getElementById("filter"); +let filterEffect.value
-let search document.getElementById("search"); +let filterType.value; 
- +let = search.value.toLowerCase();
-function applyFilters(){ +
- +
-let val filter.value; +
-let query = search.value.toLowerCase()+
- +
-document.querySelectorAll("#skills tbody tr").forEach(row => { +
- +
-let text = row.innerText.toLowerCase(); +
-let effect = row.dataset.effect || ""; +
- +
-let matchFilter = +
-(val === "all" || effect === val); +
- +
-let matchSearch = +
-(text.includes(query)); +
- +
-row.style.display = +
-(matchFilter && matchSearch) ? "" : "none";+
  
 +document.querySelectorAll("#skills tbody tr").forEach(r=>{
 +let txt = r.innerText.toLowerCase();
 +let ok = (e=="all"||r.dataset.effect==e)
 +&& (t=="all"||r.dataset.type==t)
 +&& txt.includes(s);
 +r.style.display = ok ? "" : "none";
 }); });
- 
 } }
  
-filter.addEventListener("change", applyFilters); +filterEffect.onchange filter
-search.addEventListener("input", applyFilters); +filterType.onchange filter
- +search.oninput filter;
-/* ===================== TRI COLONNES ===================== */ +
-document.querySelectorAll("#skills th").forEach((header, index) => { +
- +
-let asc = true+
- +
-header.addEventListener("click", () => { +
- +
-let rows = Array.from(document.querySelectorAll("#skills tbody tr"))+
- +
-rows.sort((a, b) => { +
- +
-let A = a.children[index].innerText.trim(); +
-let B = b.children[index].innerText.trim(); +
- +
-let numA = parseFloat(A); +
-let numB = parseFloat(B); +
- +
-if(!isNaN(numA) && !isNaN(numB)){ +
-return asc ? numA - numB : numB - numA; +
-+
- +
-return asc +
-? A.localeCompare(B, 'fr', {numeric:true}) +
-: B.localeCompare(A, 'fr', {numeric:true}); +
- +
-}); +
- +
-asc = !asc; +
- +
-let tbody = document.querySelector("#skills tbody"); +
-rows.forEach(row => tbody.appendChild(row)); +
- +
-}); +
- +
-}); +
- +
-/* ===================== HIGHLIGHT CHECKBOX ===================== */ +
-skills.forEach(cb => { +
-cb.addEventListener("change", () => { +
-cb.closest("tr").classList.toggle("highlight", cb.checked); +
-}); +
-});+
  
 </script> </script>
  
 </html> </html>
brouillon7.1776881097.txt.gz · Dernière modification : 2026/04/22 20:04 de nanaki