Divers Code
Site
http://jsbin.com/jeremadiyo/1http://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