linkinpar236737
Messages postés161Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention 7 mai 2007
-
26 juil. 2006 à 09:11
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
27 juil. 2006 à 18:14
Bonjour, j'ai un petit problème avec mon site. Voila, en fait, j'ai une frame pour faire une sorte de menu à gauche et à droite, je mets un lien vers un site qui ne m'appartient pas, donc je ne peux pas le modifier. Dans la frame de gauche, il y a écrit le chiffre 3. Comment faire pour que quand quelqu'un clique sur un lien du site de droite, le chiffre 3 de la frame baisse à chaque clic pour devenir 2, 1 puis 0 ?
Si vous avez des idées, n'hésitez pas, j'ai vu ce genre de script sur plusieurs sites déjà mais je ne comprends pas le code qui est écrit.
Merci
Tout d'abord dans la page HTML de gauche, donc dans menu.htm , il faut créer un objet pour l'écriture du compteur...
exemple :
.....
Maintenant revenons à index.htm...
il faut donc insérer dans index.htm la gestion d'un compteur et préparer la page DROITE à répondre au clic
var Count = 0; // variable globale
//-----------------
function Compteur(){
var Obj = parent.frames ['GAUCHE'].document.getElementById('D_COUNT'); // Get l'objet dans lequel on écrit
Count++; // on fait l'opération sur le compteur +/-
Obj.innerHTML = Count; // on l'écrit dans le
return( true); // Important pour que l'événement se propage
}
Bon c'est fait on pourra écrire la valeur du compteur...
Occupons nous de l'événement déclencheur dans la page de DROITE OnClick for exemple
//----------------
function InitClick(){
var Obj = parent.frames ['GAUCHE'];
if( Obj.attachEvent){ // Ca c'est IE
Obj.document.attachEvent( 'onclick',Compteur); // On ajoute une fonction à l'événement OnClick
}
else{
Obj.addEventListener('click', Compteur, false); // Idem pour les autres
}
}
Bon ça c'est fait aussi...
Il ne reste plus qu'a initialiser tout cela correctement soit dans index.htm on ajoute onload ="InitClick()" à la <FRAMESET>, le onload ce justifie car la frame de gauche n'existe encore pas...
cela donne :