begin process at 2012 05 29 19:50:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Position dans un noeud


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Position dans un noeud

jeudi 23 novembre 2006 à 16:21:35 | Position dans un noeud

ravorona_kely

bonjour a tous!
je voudrais savoir comment recuperer sur le lien que je clic sa position dans mon noeud si c possible!
voici le html et le script

<p><a href="#" onclick="test(this);">lien 1</a><a href="#" onclick="test(this);">lien 2</a></p>

function test(val) {
    var nbr_lien = val.parentNode.childNodes.length;
    var lien_clic = ;//script????
    alert('vous avez cliquer sur le lien numero ' + lien_clic + ' sur les ' + nbr_lien + ' dans la page');   
}

jeudi 23 novembre 2006 à 17:10:59 | Re : Position dans un noeud

rubiks10

Membre Club
Réponse acceptée !
Salut


Le problème c'est que les noeuds vides sont également comptés... ce que je veux dire par noeuds vide c'est que par exemple si dans ta page html tu appliques une indentation comme ca :
<p>
      <a href .....></a>
      <a href .....></a>
</p>

alors le val.parentNode.childNodes.length sera égal à 5 !!!!!
les retours chariots sont comptés comme noeuds.... c'est idiot mais c'est comme ca

donc tu peux faire ca pour contrer ce problème :

function test(el) {
      var nbr_lien = 0;
      var lien_clic = 0;
      for(var i=0;i<el.parentNode.childNodes.length;i++) {
            if (el.parentNode.childNodes[i].nodeType != 3) {
                  nbr_lien++;
                  if ( el.parentNode.childNodes[i] === el ) lien_clic = nbr_lien;
            }
      }
      alert('vous avez cliquer sur le lien numero ' + lien_clic + ' sur les ' + nbr_lien + ' dans la page');
}

Voilà et maintenant ca marche meme si il y a des noeuds vides... et le '==='  n'est pas une erreur!!! c'est bien 3 égal à la suite

bonne prog

@+  

-- The Rubik's Man --
jeudi 23 novembre 2006 à 17:24:14 | Re : Position dans un noeud

lesdis

une solution mais il doit en exister d'autre :


<p><a href="#" onclick="test(this);">lien 1</a><a href="#" onclick="test(this);">lien 2</a><a href="#" onclick="test(this);">lien 3</a></p>
<script>
function test(val) {
    var nbr_lien = val.parentNode.childNodes.length;

    var i=0;

    while(val.parentNode.childNodes[i]!=val) // on scanne tous les noeud jusqu'a atteindre celui qui nous interesse
            i++;
   

    var lien_clic = i+1; // on rajoute 1 car les array commence a 0
    alert('vous avez cliquer sur le lien numero ' + lien_clic + ' sur les ' + nbr_lien + ' dans la page');
}
</script>
jeudi 23 novembre 2006 à 17:27:35 | Re : Position dans un noeud

lesdis

Effectivement rubiks10, je ne savais pas que les retours chariots étaient comptabilisé dans les noeuds...

oublions donc ma solution


jeudi 23 novembre 2006 à 19:23:05 | Re : Position dans un noeud

PetoleTeam

Membre Club
Réponse acceptée !

B
onjour...

Bien vu rubiks10

il existe également la méthode avec getElementsByTagName
exemple :
function test(el) {
  var nbr_lien = 0;
  var lien_clic = 0;
  var szTag = el.tagName;
  var O_Tag = el.parentNode.getElementsByTagName( szTag);
  for( var i=0; i< O_Tag.length; i++){
    if( el == O_Tag[i]) lien_clic = i+1;
  }
   alert('vous avez cliquer sur le lien numero ' + lien_clic + ' sur les ' + O_Tag.length + ' dans la page');
}

Nota
:
  === correspond à égal et de même type

;0)
vendredi 24 novembre 2006 à 07:16:14 | Re : Position dans un noeud

ravorona_kely

Merci a vous tous longue vie a codeS SourceS


Cette discussion est classée dans : clic, lien, position, val, noeud


Répondre à ce message

Sujets en rapport avec ce message

empecher clic multiple sur un lien pour lea soumission d'un formulaire [ par jesaispo ] Bonjour,Dans le cadre de mon travail je suis confronter a un probleme :je dois empecher des clic multiples sur un lien qui envoie un formulaire.proble recuperation, suivre clic lien [ par benoit02 ] je suis entrain de creer un cd interactif avec un lien sur un site internet. comment faire pour savoir au niveau des stats de mon site, les personnes Position d'un lien [ par daeron ] Bonjour je voudrais afficher un menu à un point précis.Seulement, je n'arrive pas à trouver la commande qui me fera connaitre la position du lien sur Envoi d'un parametre avec clic sur un lien [ par daddycool ] Bonjour, j'ai une image avec des lettres alphabétiques. Sur cette image je fais des zones réactives sur chaque lettre; qui me redirige sur une page en Changement d'image au clic d'un seul lien [ par ludovicanceaux ] Salut à tous, J'ai créer une fonction en JavaScript qui doit changer une image sur le clic d'1 lien, mais ca marche la 1ère fois et après ca marche +, un simulateur de clic [ par zaord ] Déja tout d'abord bonjour à tous.J aurai un p tit travail a donner a quelqun (si il veu bien m aider bien sur) car j ai pas les connaissance en la mat clic sur lien [ par sniper001 ] slt je sui un debutant en programation .mon blèm est : j'aimerais apporter des mails a des personnes et a chaque foi ke x clikera  sur un lien ki ce t deplacer un tableau avec un lien [ par scanner ] voila mon probleme j'aimerais deplacer un tableau html avec un lienexemple: je clic une fois sur le lien le tableau ce positionne à left:200px et top: évennement de clic !!!!!!!!!!!!!!!! [ par tatoutati ] salut.Est ce que vous pouvez m'aider de resoudre ce probleme:je veut faire une fonction qui fait un évennement de clic sur un lien. vraiment j'ais cas Problème pour associer une fonction à un onclick [ par takinelinfo ] Bonsoir,Je vais essayer de vous donner un autre exemple que le post précédent.Voici une fonction toute bête:                       function init_lien(


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales