Pages

Correction

Divers Code

Site
http://jsbin.com/jeremadiyo/1
http://jsbin.com/zevopi/3/edit

exercice 1 1
  • "Click sur div=1"
  • "Click sur div=1"

version corrigée
var ps = document.getElementsByTagName("div");  

for (var i = 0; i < ps.length; i++) {
     (function(x){
ps[x].addEventListener("click",
function() {
       console.log("Click sur div=" + x);        
   }, false);
        })(i);

}

exercice 1 2
object Window

exercice 1 3
"Nb de clics : NaN"

version corrigée

CompteurDeClics = function(id) {
   this.unElementHTML = document.getElementById(id);
   this.nb = 0;// Le nombre de clics

   var current = this;// Stocker en variable locale l'objet courant

   this.unElementHTML.onclick = function() {        
       current.nb++;// Utiliser cette variable
       console.log("Nb de clics sur le textarea : " + current.nb);
   }
}

new CompteurDeClics("button");

exercice 1 4
  • "cliq"
  • "cliq"
  • "cliq"
Il ne se passe rien, le paramêtre couleur est l’evenement

correction

myelement.onclick=(function (couleur) {
       return function () {
              console.log('cliq');
    this.style.color=couleur;
       };
}(couleur));


Menu (JS)

var sousMenus = document.getElementsByClassName("ssmenu");

for (i=0;i<sousMenus.length;i++){

sousMenus[i].style.display="none";
  sousMenus[i].parentElement.addEventListener("mouseover",
function(){this.firstElementChild.style.display="block";},false);
 
  sousMenus[i].parentElement.addEventListener("mouseout",
function(){this.firstElementChild.style.display="none";},false);
}

et autre version avec toggle voir cours !

var sousMenus = document.querySelectorAll("li ul");

for (i=0;i<sousMenus.length;i++){
sousMenus[i].classList.add('invisible');

sousMenus[i].parentElement
.addEventListener("click",
function(){this.firstElementChild
.classList
.toggle('invisible')},false);
}

Problème III



function cal(current) {
   var val = parseInt(current.value);
  if (val){

var subtotal = val * priceData[current.name];            

   var next=current.nextElementSibling;

  var soustot=next.children;

  soustot[0].innerHTML=subtotal;
 }
 else{
    current.style.background="#f58809";
 }
}

--- bonus
function calculateTotal() {
       var total = 0;
       var ssTot = document.querySelectorAll("span.subtotal span:not(#total)");

 
 for (var i=0; i<ssTot.length;i++){
    total +=parseInt(ssTot[i].textContent);
 }

 document.getElementById('total').innerHTML="$"+total;
      
   }

/* en jquery
$('span.subtotal span').not('#total').each(function(index, elem) {
           total += Number($(elem).text());
       })
       $('#total').text("$" + total);

   $(document).ready(function() {     
        //$('.latent').show();
       
       $('input').bind("change keyup", function() {  
         //reste à faire
            $(this).siblings("span").children("span").text(subtotal)
           calculateTotal();
       })       
   })
   
   function calculateTotal() {
       var total = 0;
       $('span.subtotal span').not('#total').each(function(index, elem) {
           total += Number($(elem).text());
       })
       $('#total').text("$" + total);
   }
*/



function mettreAuPluriel(singulier) {
 return singulier + "s";
}

var singuliers = ["pied", "main", "tête"];
var pluriels = singuliers.map(mettreAuPluriel);
// pluriels vaut ["pieds", "mains", "têtes"]
// singuliers ne change pas