Что нужно исправить в коде, чтобы при нажатии на фотографию она удалялась с помощью JavaScript?

Как можно улучшить код, чтобы при удалении картинки из массива `array_for_flask` она также удалялась и с веб-страницы?
  • 4 апреля 2024 г. 15:39
Ответы на вопрос 2
Для того чтобы удалять фотографию по нажатию на нее и из массива `array_for_flask`, нужно внести следующие изменения в код:

1. Добавить обработчик события для нажатия на фотографию и удаление ее из веб-страницы:

```javascript
// Находим все фотографии на странице
const photos = document.querySelectorAll('.photo');

// Добавляем обработчик события для каждой фотографии
photos.forEach(photo => {
    photo.addEventListener('click', () => {
        photo.remove(); // Удаляем фотографию из страницы
        const index = array_for_flask.indexOf(photo.src); // Находим индекс фотографии в массиве
        if (index !== -1) {
            array_for_flask.splice(index, 1); // Удаляем фотографию из массива
        }
    });
});
```

2. Обновить HTML разметку, чтобы добавить класс `.photo` к каждой фотографии:

```html
<img src="path_to_image.jpg" class="photo">
<img src="path_to_image2.jpg" class="photo">
```

Это позволит удалять фотографии с помощью JavaScript.

Для того чтобы при удалении картинки из массива `array_for_flask` она также удалялась и с веб-страницы, можно добавить одну функцию, которая будет удалять фотографию как из страницы, так и из массива:

```javascript
function deletePhoto(photo) {
    photo.remove(); // Удаляем фотографию из страницы
    const index = array_for_flask.indexOf(photo.src); // Находим индекс фотографии в массиве
    if (index !== -1) {
        array_for_flask.splice(index, 1); // Удаляем фотографию из массива
    }
}

// Добавляем обработчик события для каждой фотографии
photos.forEach(photo => {
    photo.addEventListener('click', () => {
        deletePhoto(photo);
    });
});
```

Теперь при нажатии на фотографию она будет удалена и из страницы, и из массива `array_for_flask`.
Ты посмотри в консоль, она же тебе пишет 
Uncaught ReferenceError: array_for_flask is not defined

Ты обращаешься к array_for_flask , а у тебя она не объявлена, соответственно все что дальше вообще не выполняется. Не знаю какая картинка у тебя там появляется...
Этот код не работает. Либо, если не полный скинул, то кидай остальное
Похожие вопросы