Créer un compte
Connexion

Javascript

Pour créer et répondre aux sujets, vous devez être connecté.
Pages: 1
Auteur Message
dyc89
24/08/2012 à 20:51:39
dyc89
Membre
Bonsoir,
il y a une possibilité de cibler un élément qui ce trouve dans une autre balise en javascript?
Je voudrais ciblé a qui ce trouve dans un p, c'est pour mes images qui s'agrandissent quand on clic dessus. le prblème est que tout fonction normalement, mais quand je clic aussi sur mes liens il ce passe la chose que quand je clic sur les image...

code: HTML
<p>
  <a href="imgs/1.jpg" title="Afficher l'image originale"><img src="imgs/1_min.jpg" alt="Miniature" /></a>
  <a href="imgs/2.jpg" title="Afficher l'image originale"><img src="imgs/2_min.jpg" alt="Miniature" /></a>
  <a href="imgs/3.jpg" title="Afficher l'image originale"><img src="imgs/3_min.jpg" alt="Miniature" /></a>
  <a href="imgs/4.jpg" title="Afficher l'image originale"><img src="imgs/4_min.jpg" alt="Miniature" /></a>
</p>

code: CSS
#overlay {
  display : none; /* Par défaut, on cache l'overlay */

  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  text-align: center; /* Pour centrer l'image que l'overlay contiendra */

  /* Ci-dessous, nous appliquons un background de couleur noire et d'opacité 0.6. Il s'agit d'une propriété CSS3. */
  background-color: rgba(0,0,0,0.6);
}

#overlay img {
  margin-top: 100px;
}

p {

  text-align: center;
}
 
code: JAVASCRIPT


var links = document.getElementsByTagName('a'),
    linksLen = links.length;

for (var i = 0 ; i < linksLen ; i++) {

    links[i].onclick = function() { // Vous pouvez très bien utiliser le DOM-2
        displayImg(this); // On appelle notre fonction pour afficher les images
        return false; // Et on bloque la redirection
    };

}

function displayImg(link) {

    var img = new Image(),
        overlay = document.getElementById('overlay');

    img.onload = function() {
        overlay.innerHTML = '';
        overlay.appendChild(img);
    };

    img.src = link.href;
    overlay.style.display = 'block';
    overlay.innerHTML = '<span>Chargement en cours...</span>';

}

document.getElementById('overlay').onclick = function() {
    this.style.display = 'none';
};
 

Merci

Pages: 1