html转换5张图像,停止最后一张图像

问题描述 投票:0回答:1

[Gooh晚上,我有5张图像的过渡会自动改变,我需要当我获得第5张图像时它保持固定并且不重复过渡。也就是说,当5张图像通过时,它在最后一个图像中保持不变。谢谢

<!DOCTYPE html>
<html>

<head>
<title>W3.CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta content="text/html; charset=iso-8859-2" http-equiv="Content-Type">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<style>
.mySlides {display:none;}
</style>
</head>

<body>

<div class="w3-content w3-section" style="max-width:800px">
  <img class="mySlides" id="img1" src="1.jpg" style="width:100%">
  <img class="mySlides" id="img2" src="2.jpg" style="width:100%">
  <img class="mySlides" id="img3" src="3.jpg" style="width:100%">
  <img class="mySlides" id="img4" src="4.jpg" style="width:100%">
  <img class="mySlides" id="img5" src="5.jpg" style="width:100%">
</div>

<script>
var myIndex = 0;
carousel();

function carousel() {
  var i;
  var x = document.getElementsByClassName("mySlides");
  for (i = 0; i < x.length; i++) {
    x[i].style.display = "none";  
  }
  myIndex++;
  if (myIndex > x.length) {myIndex = 1}    
  x[myIndex-1].style.display = "block";  
  setTimeout(carousel, 500); // Change image every 2 seconds


}
</script>

</body>
</html>
transition
1个回答
0
投票

您可以尝试一下,可能会对您有所帮助。

<!DOCTYPE html>
<html>

<head>
<title>W3.CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta content="text/html; charset=iso-8859-2" http-equiv="Content-Type">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<style>
.mySlides {display:none;}
</style>
</head>

<body>

<h2 class="w3-center">Automatic Slideshow</h2>

<div class="w3-content w3-section" style="max-width:500px">
  <img class="mySlides" src="img_la.jpg" style="width:100%">
  <img class="mySlides" src="img_ny.jpg" style="width:100%">
  <img class="mySlides" src="img_chicago.jpg" style="width:100%">
</div>

<script>
var myIndex = 0;
carousel();

function carousel() {
  var i;
  var x = document.getElementsByClassName("mySlides");
  for (i = 0; i < x.length; i++) {
    x[i].style.display = "none";  
  }
  myIndex++;
  if (myIndex > x.length) {
    clearTimeout(carousel);
    x[myIndex-2].style.display = "block";
  }    
  x[myIndex-1].style.display = "block";  
  setTimeout(carousel, 500); // Change image every 2 seconds
}
</script>

</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.