这是我用来选择照片的功能。通过添加到阵列并在其上放置绿色复选标记来选择它们。再次单击它们时,应从阵列中删除它们,并且也应删除复选标记。
此工作正常,但如果您选择,然后取消选择照片,则不会让您在此之后再次选择它。唯一的例外是列表中的第一张照片(左上角),我不知道为什么会这样。您可以根据需要多次选择和取消选择它,它可以正常工作。我希望所有照片都像这样。
这是我的代码:
int MyFunction(int number)
{
int myarr[int(ceil(log(number)))];
....
return 0;
}
您可以在此处查看此页面: http://lindseymotors.com/unassignedphotos.php
答案 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');
}
}