Maison  >  Questions et réponses  >  le corps du texte

javascript - Comment obtenir les valeurs précédentes et suivantes de l'événement click.

for (var i = 0; i < pic.length; i++) {
        pic[i].onclick = function () {
            var aA = this.getAttribute("href");
            return false;
        }
    }

La boucle for a été parcourue pour lier l'événement click. Lorsque vous cliquez sur l'image 1, vous pouvez déjà obtenir la valeur de href dans l'étiquette (remarque : href est le lien de saut dans l'étiquette A, et return false est à éviter sauter). Maintenant, je veux obtenir les valeurs href de l'étiquette précédente et de l'étiquette suivante lorsque l'on clique sur le motif actuel, de sorte que l'image du milieu affiche le motif 1, le motif de gauche affiche le motif 4 et le motif de droite affiche le motif. 2. Comment fonctionner ?

大家讲道理大家讲道理2668 Il y a quelques jours826

répondre à tous(2)je répondrai

  • PHP中文网

    PHP中文网2017-06-30 10:00:43

    for (var i = 0; i < pic.length; i++) {
        pic[i].index=i;
        pic[i].onclick = function () {
            var aA = this.getAttribute("href");
            //如果当前是第一个,没有上一个,值获取下一个
            if(this.index===0){
                var aANext=pic[this.index-1].getAttribute("href");
            }
            //如果当前是最后一个,没有下一个,只获取上一个
            else if(this.index===pic.length-1){
                 var aAPrev=pic[this.index-1].getAttribute("href");
            }
            //否则上下都获取
            else{
                var aAPrev=pic[this.index-1].getAttribute("href");
                var aANext=pic[this.index-1].getAttribute("href");
            }
            
            
            return false;
        }
    }

    répondre
    0
  • 天蓬老师

    天蓬老师2017-06-30 10:00:43

    Merci, votre méthode est très bonne. Vous définissez un attribut d'index sur l'élément et les éléments adjacents.
    C'est ainsi que je l'écris maintenant, mais je dois encore trouver comment faire apparaître le point en premier. quatrième photo
    <script>

    var pic = document.getElementById('pic').getElementsByTagName('a');
    var pid = document.getElementById('pid').getElementsByTagName('img');
    for (var i = 0; i < pic.length; i++) {
        pic[i].onclick = function () {
            var aA = this.getAttribute("href");
            var pid = document.getElementById('pid');
            pid.setAttribute("src", aA);
            var aB = this.parentNode.previousSibling.firstChild.getAttribute('href')
            pid.previousSibling.setAttribute('src', aB);
    
            var aC = this.parentNode.nextSibling.firstChild.getAttribute('href')
            pid.nextSibling.setAttribute('src', aC);
    
            return false;
        }
    }
    

    </script>

    répondre
    0
  • Annulerrépondre