Я пытаюсь сделать мой слайдер интерактивным на тесте, над которым я работаю, и я просто не могу понять это.У меня есть некоторый код, который я использовал из W3, но я пытаюсь добавить пару событий для кнопок, чтобы все это было в собственном файле javascript вместо встроенного в HTML.
Вот HTML:
<!DOCTYPE html>
<html>
<title>W3.CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="main.js" defer></script>
<body>
<h2 class="w3-center">Manual Slideshow</h2>
<div class="w3-content w3-display-container">
<img class="mySlides" src="./image_1.jpg" style="width:100%">
<img class="mySlides" src="./image_2.jpg" style="width:100%">
<img class="mySlides" src="./image_3.jpg" style="width:100%">
<button id="clicker" class="w3-button w3-black w3-display-left">❮</button>
<button id="clicker" class="w3-button w3-black w3-display-right">❯</button>
</div>
</body>
</html>
Вот Javascript:
let leftSlideButton = document.getElementById("clicker");
let rightSlideButton = document.getElementById("clicker");
var slideIndex = 1;
showDivs(slideIndex);
function plusDivs(n) {
showDivs(slideIndex += n);
}
function showDivs(n) {
var i;
var x = document.getElementsByClassName("mySlides");
if (n > x.length) {slideIndex = 1}
if (n < 1) {slideIndex = x.length}
for (i = 0; i < x.length; i++) {
x[i].style.display = "none";
}
x[slideIndex-1].style.display = "block";
}
let slideForward = plusDivs(1);
let slideBack = plusDivs(-1);
leftSlideButton.onclick = slideBack;
rightSlideButton.onclick = slideForward;
Слайдер работал, когда скрипт был встроен в hmtl, но когда я пытался написать некоторые функции для кнопок в их собственном javascriptфайл это просто перестает работать, и я сейчас в замешательстве.Iv'e добавил их в свою переменную и взял его HTML-селектор, чтобы я мог добавить обработчик событий и связать его с функцией, но он просто не работает.Любая помощь будет оценена.
Кроме того, это мой первый пост, поэтому извиняюсь, если я не отформатировал его правильно.
TIA, Neil.