Javascript在点击时获得索引

时间:2015-02-12 18:48:49

标签: javascript css

我在3d美术馆中使用普通的Javascript。我有一个图像源数组,并通过拉出这个数组填充某些列。我需要在点击时获取图像的索引,以便我可以使用它从所述数组中提取更多信息......标题,描述。

我可以用jQuery做到这一点,但我正在尝试学习普通的Javascript。我已经在所有图像上都有事件监听器。这是当前的代码:

var preview = document.getElementById('preview');
var subwrap = document.getElementById('subwrap');
var indexMatch;

for (var i=0; i <= imgList.length; i++){

    document.images[i].addEventListener("click", srcSend, false);

}

function srcSend(){

    var previewTitle = "Test Title";
    var previewText = "Test Description";
    var imgSrc = this.src;

    console.log('Image Source ='+''+imgSrc+'');

    if (imgSrc !== "file:///D:/Projects/mpaccione/img/navicon.png"){

    preview.className = " ";
    subwrap.className = "hide";
    preview.className = "show";
    preview.innerHTML = '<img src='+imgSrc+'><p id="title">'+previewTitle+'</p><p id="description">'+previewText+'</p>';   }}

2 个答案:

答案 0 :(得分:0)

您可以将索引发送到srcSend函数。

for (var i=0; i <= imgList.length; i++){
    document.images[i].addEventListener("click", function(){
        return (function(index) {
            srcSend(index);
        })(i);
    }, false);
}

答案 1 :(得分:0)

您应该能够在images集合上使用Array.indexOf。

function srcSend(){

    var index = Array.prototype.indexOf.call(document.images, this);

}