Heim  >  Fragen und Antworten  >  Hauptteil

javascript – So erhalten Sie die vorherigen und nächsten Werte des Klickereignisses.

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

Die for-Schleife wurde durchlaufen, um das Click-Ereignis zu binden. Wenn Sie auf Bild 1 klicken, können Sie bereits den Wert von href im Label abrufen (Hinweis: href ist der Sprunglink im A-Label und die Rückgabe von false soll vermieden werden (Springen). Jetzt möchte ich die href-Werte des vorherigen Etiketts und des nächsten Etiketts abrufen, wenn auf das aktuelle Muster geklickt wird, sodass das mittlere Bild Muster 1, das linke Muster Muster 4 und das rechte Muster Muster anzeigt 2. Wie funktioniert die Bedienung?

大家讲道理大家讲道理2668 Tage vor824

Antworte allen(2)Ich werde antworten

  • 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;
        }
    }

    Antwort
    0
  • 天蓬老师

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

    谢谢,你这种方法很好,在元素,及相邻的元素设置一个index的属性,我看明白了
    我现在是这样写的,不过还要出来,如何让点第一个的时候出现第四个图
    <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>

    Antwort
    0
  • StornierenAntwort