When I put my JavaScipts code in the tags in my html file everything works, but when I put it in an external .js file, everything but 1 thing works. When loading the page it doesn't load a picture in my slideshow automatically, but when in my HTML file it does do that.
My HTML header:
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" type="text/css" href="css/EindopdrachtTest.css">
<script type="text/javascript" src="myTest1.js"></script>
</head>
My HTML code:
<div id="slide">
<div class="mySlide">
<div class="tipNumber">1 / 3
</div>
<img src="images/Tip1.jpg" class="slideImg">
<div class="caption"> Studietips
</div>
</div>
<div class="mySlide">
<div class="tipNumber">2 / 3
</div>
<img src="images/tip2.jpg" class="slideImg">
<div class="caption">
Studietips
</div>
</div>
<div class="mySlide">
<div class="tipNumber">3 / 3
</div>
<img src="images/tip3.jpg" class="slideImg">
<div class="caption">
Studietips
</div>
</div>
<!-- next and previous buttons-->
<button class="previous" onclick="slidePlus(-1)">❮ Prev</button>
<button class="next" onclick="slidePlus(+1)">Next ❯</button>
<div class="dots">
<span class="dot" onclick="currentSlide(1)"></span>
<span class="dot" onclick="currentSlide(2)"></span>
<span class="dot" onclick="currentSlide(3)"></span>
</div>
My JavaScript:
var slideIndex = 1;
showSlides(slideIndex);
var slides,dots;
function showSlides() {
var i;
slides = document.getElementsByClassName("mySlide");
dots = document.getElementsByClassName("dot");
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex++;
if (slideIndex> slides.length) {slideIndex = 1}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex-1].style.display = "block";
dots[slideIndex-1].className += " active";
setTimeout(showSlides, 8000); // Change image every 8 seconds
}
function slidePlus(position) {
var i;
slideIndex +=position;
if (slideIndex> slides.length) {slideIndex = 1}
else if(slideIndex<1){slideIndex = slides.length}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex-1].style.display = "block";
dots[slideIndex-1].className += " active";
}
function currentSlide(index) {
var i;
if (index > slides.length) {
index = 1
}
else if(index < 1){
index = slides.length
}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[index-1].style.display = "block";
dots[index-1].className += " active";
}