Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保存图像的src的函数不起作用_Javascript_Arrays - Fatal编程技术网

Javascript 保存图像的src的函数不起作用

Javascript 保存图像的src的函数不起作用,javascript,arrays,Javascript,Arrays,下面的代码显示图像,如果我单击其中一个,则使用蓝色边框将其选中。它还将所选对象的src存储在变量src1中,但最后一点不起作用。我的错在哪里?谢谢你们 var src1 = ""; var img = new Array(); img[0] = new Image(); img[0].src = "../images/poggiatesta2.jpg"; img[1] = new Image(); img[1].src = "../images/poggiatesta1.JPG"; img[2]

下面的代码显示图像,如果我单击其中一个,则使用蓝色边框将其选中。它还将所选对象的src存储在变量src1中,但最后一点不起作用。我的错在哪里?谢谢你们

var src1 = "";
var img = new Array();
img[0] = new Image();
img[0].src = "../images/poggiatesta2.jpg";
img[1] = new Image();
img[1].src = "../images/poggiatesta1.JPG";
img[2] = new Image();
img[2].src = "../images/poggiatesta3.jpg";
for (var i = 0; i < img.length; i++) {
    var imagetag = document.createElement("img");
    var onclick = document.createAttribute("onclick");
    onclick.value = "myfun(" + i + ")";

    var sorc = document.createAttribute("src");
    sorc.value = img[i].src;

    var id = document.createAttribute("id");
    id.value = "my_image" + i;

    var clas = document.createAttribute("class");
    clas.value = "my_image_clas";

    imagetag.setAttributeNode(clas);
    imagetag.setAttributeNode(onclick);
    imagetag.setAttributeNode(sorc);
    imagetag.setAttributeNode(id);
    document.body.appendChild(imagetag);
}
function myfun(i) {
    src1 = document.getElementById('my_image' + i).src;

}
var _last = null;
function select(element) {
    element.onclick = function () {
        element.classList.toggle('selected');
        if (_last) _last.classList.remove("selected");
        _last = element.classList.contains("selected") ? element : null;
    }
}

Array.from(document.getElementsByClassName('my_image_clas')).forEach(select);

您使用了错误的方式添加元素的事件。您的事件未被触发

请改用这种方式:

var imagetag = document.createElement("img");
imagetag.onclick = function () {
    myfun(i);
};

您使用了错误的方式添加元素的事件。您的事件未被触发

请改用这种方式:

var imagetag = document.createElement("img");
imagetag.onclick = function () {
    myfun(i);
};
试试这个:

    var src1 = "";
    var img = new Array();
    img[0] = new Image();
    img[0].src = "../images/poggiatesta2.jpg";
    img[1] = new Image();
    img[1].src =  "../images/poggiatesta1.JPG";
    img[2] = new Image();
    img[2].src =  "../images/poggiatesta3.jpg";


 for (var i = 0; i < img.length; i++) {
    var imagetag = document.createElement("img");


    var sorc = document.createAttribute("src");
    sorc.value = img[i].src;

    var id = document.createAttribute("id");
    id.value = "my_image" + i;

    var clas = document.createAttribute("class");
    clas.value = "my_image_clas";

    imagetag.setAttributeNode(clas);
    imagetag.setAttributeNode(sorc);
    imagetag.setAttributeNode(id);
    document.body.appendChild(imagetag);

}

var _last = null;
function select(element) {
    element.onclick = function () {
        element.classList.toggle('selected');
        if (_last) _last.classList.remove("selected");
        _last = element.classList.contains("selected") ? element : null;
        src1 = _last.src;
    }
}

Array.from(document.getElementsByClassName('my_image_clas')).forEach(select);
试试这个:

    var src1 = "";
    var img = new Array();
    img[0] = new Image();
    img[0].src = "../images/poggiatesta2.jpg";
    img[1] = new Image();
    img[1].src =  "../images/poggiatesta1.JPG";
    img[2] = new Image();
    img[2].src =  "../images/poggiatesta3.jpg";


 for (var i = 0; i < img.length; i++) {
    var imagetag = document.createElement("img");


    var sorc = document.createAttribute("src");
    sorc.value = img[i].src;

    var id = document.createAttribute("id");
    id.value = "my_image" + i;

    var clas = document.createAttribute("class");
    clas.value = "my_image_clas";

    imagetag.setAttributeNode(clas);
    imagetag.setAttributeNode(sorc);
    imagetag.setAttributeNode(id);
    document.body.appendChild(imagetag);

}

var _last = null;
function select(element) {
    element.onclick = function () {
        element.classList.toggle('selected');
        if (_last) _last.classList.remove("selected");
        _last = element.classList.contains("selected") ? element : null;
        src1 = _last.src;
    }
}

Array.from(document.getElementsByClassName('my_image_clas')).forEach(select);

我应该把这个代码放在for循环的上面吗?因为它不起作用:你能描述一下你的错误吗?你参加了myfun的活动了吗?如果是,i的值是多少?我应该将此代码放在for循环的正上方吗?因为它不起作用:你能描述一下你的错误吗?你参加了myfun的活动了吗?如果是,i的值是多少?