HTML转换5张图片,停止最后一张图片

时间:2020-04-11 03:10:27

标签: transition

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>

1 个答案:

答案 0 :(得分:1)

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

<!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: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>