选择图像的Javascript功能仅适用于第一张图像

时间:2015-06-02 19:38:10

标签: javascript jquery

这是我用来选择照片的功能。通过添加到阵列并在其上放置绿色复选标记来选择它们。再次单击它们时,应从阵列中删除它们,并且也应删除复选标记。

此工作正常,但如果您选择,然后取消选择照片,则不会让您在此之后再次选择它。唯一的例外是列表中的第一张照片(左上角),我不知道为什么会这样。您可以根据需要多次选择和取消选择它,它可以正常工作。我希望所有照片都像这样。

这是我的代码:

int MyFunction(int number)
{
    int myarr[int(ceil(log(number)))];

    ....

    return 0;
}

您可以在此处查看此页面: http://lindseymotors.com/unassignedphotos.php

2 个答案:

答案 0 :(得分:3)

您需要在splice 索引中传递要删除的元素索引,以便开始更改数组

var index = selectedPhotos.indexOf(photoID);
if(index > -1){
    selectedPhotos.splice(index , 1);
}

完整代码

var selectedPhotos = new Array();
function selectVehicle(photoID) {
    var index = selectedPhotos.indexOf(photoID);
    if(index > -1){
        selectedPhotos.splice(index, 1);
        $('#check'+photoID).css('z-index', '-1');
    } else {
        selectedPhotos.push(photoID);
        $('#check'+photoID).css('z-index', '1');
    }
}

答案 1 :(得分:1)

你需要提供数组的索引作为splice的第一个参数,所以你可以试试这个:

var selectedPhotos = new Array();
function selectVehicle(photoID) {
    if ( selectedPhotos.indexOf(photoID) > -1 ) {
        $('#check'+photoID).css('z-index', '-1');
        selectedPhotos.splice(selectedPhotos.indexOf(photoID), 1);
    } else {
        selectedPhotos.push(photoID);
        $('#check'+photoID).css('z-index', '1');
    }

}