Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk mendapatkan nilai sebelumnya dan seterusnya acara klik.

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

Gelung for telah dilalui untuk mengikat acara klik Apabila anda mengklik pada gambar 1, anda sudah boleh mendapatkan nilai href dalam label (nota: href ialah pautan lompat dalam label A, dan return false adalah untuk mengelakkan. melompat). Sekarang saya ingin Dapatkan nilai href dari label sebelumnya dan label seterusnya apabila corak semasa diklik, supaya gambar tengah memaparkan corak 1, corak kiri memaparkan corak 4, dan corak kanan memaparkan corak 2. Bagaimana untuk beroperasi?

大家讲道理大家讲道理2668 hari yang lalu827

membalas semua(2)saya akan balas

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

    balas
    0
  • 天蓬老师

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

    Terima kasih, kaedah anda sangat bagus Anda menetapkan atribut indeks pada elemen dan elemen bersebelahan saya faham
    Begini cara saya menulisnya sekarang, tetapi saya masih perlu memikirkan cara untuk memaparkannya gambar keempat
    <skrip>

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

    </skrip>

    balas
    0
  • Batalbalas