#html #jquery #bootstrap-4 #bootstrap-modal #carousel
#HTML #jquery #начальная загрузка-4 #bootstrap-modal #карусель
Вопрос:
На моей веб-странице есть галерея изображений, и при нажатии на эти изображения появляется модальное изображение, в котором есть карусель изображений (связанных с изображением, на которое был нажат).
Я использовал HTML, CSS, jQuery и Bootstrap 4. Поскольку в галерее есть несколько изображений, я добавляю данные в модальную / карусель динамически с помощью массивов jQuery. Я установил интервал данных изображений карусели равным 4000, он отлично работает при загрузке страницы в первый раз, т.Е.. первое изображение в карусели также скользит за 4 секунды, но когда я закрываю это модальное изображение и нажимаю на другое изображение в галерее, первое изображение в его модальной карусели скользит слишком быстро.
Я почему-то думаю, что происходит, например. в галерее есть 2 изображения: дерево и цветок. Когда я нажимаю на дерево, появляется модальное изображение, и первое изображение карусели T1 занимает 4 секунды, а второе изображение T2 занимает 2 секунды, и я закрываю модальное. Затем, когда я открываю модальное изображение цветка, первое изображение карусели F1 получает только 2 секунды (потому что T2 занял свои 2 секунды в предыдущей версии carousel). Я не уверен, имеет ли это смысл, или карусель всегда уничтожается, когда модал закрывается.
Что я могу сделать, чтобы исправить это?
РЕДАКТИРОВАТЬ Проблему можно увидеть по адресу: https://deepikauix.com/ak/portfolio.html Скольжение первого изображения довольно случайное, иногда для скольжения требуется время, иногда оно просто скользит очень быстро.
Комментарии:
1. Не могли бы вы добавить минимальный код, чтобы воспроизвести вашу проблему?
2. @Prince Привет, я все еще работал над localhost, поэтому не смог поделиться результатом, вы можете проверить его на deepikauix.com/ak/portfolio.html . Нажмите на кнопку «Просмотр», чтобы запустить модальный.
Ответ №1:
Я проверил код в указанном URL. Я думаю, вам следует удалить предыдущую карусель из DOM, как только пользователь нажмет на значок отмены.
Не могли бы вы проверить, внеся следующие изменения.
$('#portfolioModal').on('hidden.bs.modal', () => {
$('.carousel-inner').empty();
});
Комментарии:
1. Это удаляет всю карусель вместе, вообще не загружает карусель при повторном открытии modal. Я также пытался использовать .carousel(«dispose»), но это также не решило проблему.
2. Не уверен…. Я обновил код, надеюсь, вы сможете снова открыть модал с новым кодом. Не могли бы вы проверить еще раз?
3. Никакой разницы :/
4. Проблема в том, что я не могу запустить скрытое событие в консоли. Запускается ли добавленный мной прослушиватель событий при закрытии модального?
5. Я написал код, о котором вы упомянули, и да, он срабатывает, но результат не тот, который я хотел.