У меня есть код, который переходит от изображения к изображению с помощью javascript, но я хотел, чтобы, когда data-slide-to был равен 1, изображение исчезало, но вместо этого изображение оставалось таким же, как если бы ничего не произошло, почему это не работает?
<section class = "slider_section ">
<div class = "slider_bg_box">
<img id = "myImage" src = "{{url ('assets/images/slider-bg.jpg')}}" alt = "">
</div>
<script>
if ($("li").attr("data-slide-to") == "1")
{
document.getElementById("myImage").style.display = "none";
}
</script>
<div class = "container">
<ol class = "carousel-indicators">
<li data-target = "#customCarousel1" data-slide-to = "0" class = "active"></li>
<li data-target = "#customCarousel1" data-slide-to = "1" ></li>
<li data-target = "#customCarousel1" data-slide-to = "2"></li>
</ol>
</div>
</section>
Также не рекомендуется встроенный JavaScript, поскольку он у вас есть. Он всегда должен быть в своем собственном файле. Если у вас должен быть тег <script>
в вашем HTML, он должен располагаться внизу страницы как последний элемент.
@DM, как мне это сделать? Я все еще новичок в программировании
@GuyPeace Я работаю над ответом, чтобы вы могли помочь!
Изучив документацию по bootstrap4, похоже, что у вас есть проблемы со структурой кода. Я бы рекомендовал сначала просмотреть документацию, чтобы формат был правильным, прежде чем пытаться использовать JavaScript для добавления функциональности. Ниже приведен пример, относящийся к вашему вопросу.
Во-вторых, вы должны хранить JavaScript и CSS в отдельных файлах.
Примечание. Пример взят с сайта www.w3schools.com.
.carousel-inner img {
width: 100%;
height: 100%;
}
<link rel = "stylesheet" href = "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<script src = "https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.slim.min.js"></script>
<script src = "https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"></script>
<script src = "https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<div id = "demo" class = "carousel slide" data-ride = "carousel">
<!-- Indicators -->
<ul class = "carousel-indicators">
<li data-target = "#demo" data-slide-to = "0" class = "active"></li>
<li data-target = "#demo" data-slide-to = "1"></li>
<li data-target = "#demo" data-slide-to = "2"></li>
</ul>
<!-- The slideshow -->
<div class = "carousel-inner">
<div class = "carousel-item active">
<img src = "https://www.w3schools.com/bootstrap4/ny.jpg" alt = "Los Angeles" width = "1100" height = "500">
</div>
<div class = "carousel-item">
<img src = "https://www.w3schools.com/bootstrap4/chicago.jpg" alt = "Chicago" width = "1100" height = "500">
</div>
<div class = "carousel-item">
<img src = "https://www.w3schools.com/bootstrap4/la.jpg" alt = "New York" width = "1100" height = "500">
</div>
</div>
<!-- Left and right controls -->
<a class = "carousel-control-prev" href = "#demo" data-slide = "prev">
<span class = "carousel-control-prev-icon"></span>
</a>
<a class = "carousel-control-next" href = "#demo" data-slide = "next">
<span class = "carousel-control-next-icon"></span>
</a>
</div>
Ваше утверждение
if
запускается только один раз. Вам понадобится какой-то слушатель, чтобы запустить его снова, когдаdata-slide-to
изменится.