Галерея слайд-шоу заставляет Chrome мигать черным (только незначительные изменения в примере w3schools) - PullRequest
0 голосов
/ 15 ноября 2018

Я создаю сайт Google, но, к сожалению, Google не предлагает готовое слайд-шоу для добавления фотографий. Я гуглил и нашел w3schools "How TO - Галерея слайд-шоу (https://www.w3schools.com/howto/howto_js_slideshow_gallery.asp).). Я взял это и заменил изображения своими ссылками и сделал несколько незначительных изменений (которые я прокомментировал в коде как" HELLO Я НОВЫЙ или ИЗМЕНЕННЫЙ "). Поскольку мои фотографии не были одинаковыми по бокам, друг помог мне узнать, как применять объектную подгонку, чтобы они отображались равномерно, не заставляя страницу прыгать вверх и вниз.

ОДНАКО, я хотел больше, чем 6 оригинальных слайдов в галерее, поэтому я добавил больше div для слайдов и галереи ниже. Где-то в этом процессе заставляет Chrome периодически мигать черным . Я возился с этим, но просто не могу понять, почему он не остановит отключение браузера. Я довольно новичок в кодировании, не могу понять это и не знаю точно, что даже искать, чтобы попытаться понять это. Спасибо за любую помощь, которую вы можете предоставить.

Вот мой код:

<!DOCTYPE html>
<html>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {
  font-family: Arial;
  margin: 0;
}

* {
  box-sizing: border-box;
}

img {
  vertical-align: middle;
  height: calc(100vh - 8vmin - 8vmax - 5vw - 54px); /*HELLO I'M NEW HERE*/
  object-fit: contain; /*HELLO I'M NEW HERE*/

}

/* Position the image container (needed to position the left and right arrows) */
.container {
  position: relative;

}

/* Hide the images by default */
.mySlides {
  display: none;
  height: calc(100vh - 8vmin - 8vmax - 5vw - 54px); /*HELLO I'M NEW HERE*/
  width: 100%; /*HELLO I'M NEW HERE*/
  background: grey; /*HELLO I'M NEW HERE*/

}

/* Add a pointer when hovering over the thumbnail images */
.cursor {
  cursor: pointer;
  height: calc(4vmin + 4vmax); /*HELLO I'M NEW HERE*/
  object-fit: cover; /*HELLO I'M NEW HERE*/

}

/* Next & previous buttons */
.prev,
.next {
  cursor: pointer;
  position: absolute;
  top: 40%;
  width: auto;
  padding: 16px;
  margin-top: -50px;
  color: white;
  font-weight: bold;
  font-size: 20px;
  border-radius: 0 3px 3px 0;
  user-select: none;
  -webkit-user-select: none;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover,
.next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* Container for image text */
.caption-container {
  text-align: center;
  background-color: #222;
  padding: 2px 16px;
  color: white;
}

.row:after {
  content: "";
  display: table;
  clear: both;
}

/* Nine columns side by side */
.column {
  float: left;
  width: calc(100%/9); /*HELLO I'VE BEEN MODIFIED*/
}

/* Add a transparency effect for thumnbail images */
.demo {
  opacity: 0.6;
}

.active,
.demo:hover {
  opacity: 1;
}

/* HELLO I'VE ADDED ADDITIONAL SLIDES AND THUMBNAILS (WW3SCHOOLS HAD 6-THIS HAS 18)*/

</style>
<body>


<div class="container">
  <div class="mySlides">
    <div class="numbertext">01 / 18</div>
    <img src="https://drive.google.com/uc?id=1wTcnq5Tjm4TrrKQmY5-mW7i836tz20QI" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">02 / 18</div>
    <img src="https://drive.google.com/uc?id=1hcBXUMRzbKbg4At9x-DMMpcXk_dCO3aq" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">03 / 18</div>
    <img src="https://drive.google.com/uc?id=16Paxelc2xFkABqDoIjY4ddj8uFkEGxyC" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">04 / 18</div>
    <img src="https://drive.google.com/uc?id=1vwDPVqoBn15G-BGtt2RbbdkqAKbgChT6" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">05 / 18</div>
    <img src="https://drive.google.com/uc?id=1_kZFToczkC7a9K2DafHRCje4akqEHklF" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">06 / 18</div>
    <img src="https://drive.google.com/uc?id=1aJtp4zFiukQYcVSQYQ182XL0Qh_kQfJT" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">07 / 18</div>
    <img src="https://drive.google.com/uc?id=1lp7EnWD3imHNtf_YT5SkPfmxnGVMbyLQ" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">08 / 18</div>
    <img src="https://drive.google.com/uc?id=1mU6fPklSV1uvyDWOb6owahMF4d7BAQi9" style="width:100%">
  </div>  

  <div class="mySlides">
    <div class="numbertext">09 / 18</div>
    <img src="https://drive.google.com/uc?id=1tF6GvOeMgArq5ITWBiaJsRuwF-dEePaR" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">10 / 18</div>
    <img src="https://drive.google.com/uc?id=17mmCOJXdVMAZV3My5BM-9TLfNWqqQiT7" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">11 / 18</div>
    <img src="https://drive.google.com/uc?id=1qEIdgiPZqtJKLezjGSS2Cs2mb06arH_f" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">12 / 18</div>
    <img src="https://drive.google.com/uc?id=1NmJqOO4PR6__HWLJJhH1iWYo1rp3D_7s" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">13 / 18</div>
    <img src="https://drive.google.com/uc?id=1knDgrcHkbf_e_F6oeSTURG1Cmu1Mii-d" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">14 / 18</div>
    <img src="https://drive.google.com/uc?id=1nwsaFLbGd2SzGjadamaHe25Oz9ufFJuZ" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">15 / 18</div>
    <img src="https://drive.google.com/uc?id=1XXlVT14aE3StIzimXowpMgauoB5kUD0S" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">16 / 18</div>
    <img src="https://drive.google.com/uc?id=1u8ml-b9gAc9qSThBQP8xFqbBYymyzQxw" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">17 / 18</div>
    <img src="https://drive.google.com/uc?id=1wFvYmu4n7wfcHluJAbC-XFrwiRYpF91w" style="width:100%">
  </div>

  <div class="mySlides">
    <div class="numbertext">18 / 18</div>
    <img src="https://drive.google.com/uc?id=1-HMf5V5h2RYp9MU1uEb9rZSIfQcVdc8H" style="width:100%">
  </div>

  <a class="prev" onclick="plusSlides(-1)">❮</a>
  <a class="next" onclick="plusSlides(1)">❯</a>

  <div class="caption-container">
    <p id="caption"></p>
  </div>

  <div class="row">
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1wTcnq5Tjm4TrrKQmY5-mW7i836tz20QI" style="width:100%" onclick="currentSlide(01)" alt="Mercator’s map of Ireland dated 1564. © The British Library Board.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1hcBXUMRzbKbg4At9x-DMMpcXk_dCO3aq" style="width:100%" onclick="currentSlide(02)" alt="'Hiberniae Britannicae Insulae Nova Descriptio' dated 1574, by Abraham Ortelius, Antwerp">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=16Paxelc2xFkABqDoIjY4ddj8uFkEGxyC" style="width:100%" onclick="currentSlide(03)" alt="The provence of Ulster, Francis Jobson (1590), TCD MS 1209/15. Courtesy of the Board of Trinity College Dublin">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1vwDPVqoBn15G-BGtt2RbbdkqAKbgChT6" style="width:100%" onclick="currentSlide(04)" alt="Dowcra's map of 'The I land and forte of the derry' dated 1600. Courtesy of The National Archives, London">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1_kZFToczkC7a9K2DafHRCje4akqEHklF" style="width:100%" onclick="currentSlide(05)" alt="Robert Ashby’s sketch map of Lough Swilly and Lough Foyle, 1601. Courtesy of The National Archives, London; MPF 1/335/1 (1).">
    </div>    
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1aJtp4zFiukQYcVSQYQ182XL0Qh_kQfJT" style="width:100%" onclick="currentSlide(06)" alt="'A Generalle Description of Ulster' 1603 Courtesy of The National Archives UK: TNA, PRO, (MPF 1-35).">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1lp7EnWD3imHNtf_YT5SkPfmxnGVMbyLQ" style="width:100%" onclick="currentSlide(07)" alt="Baptista Boazio's Irlandiæ c. 1606 = Irlandiæ accvrata descriptio.' Courtesy of Library of Congress.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1mU6fPklSV1uvyDWOb6owahMF4d7BAQi9" style="width:100%" onclick="currentSlide(08)" alt="1608 Map of Ireland by John Norden. Courtesy of Trinity College, Dublin, MS 1209/1.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1tF6GvOeMgArq5ITWBiaJsRuwF-dEePaR" style="width:100%" onclick="currentSlide(09)" alt="1608 Map of Ireland by John Norden. Courtesy of Public Record Office, London, MPF 67.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=17mmCOJXdVMAZV3My5BM-9TLfNWqqQiT7" style="width:100%" onclick="currentSlide(10)" alt="Jaonnem Janssonius’ map Provincia Ultoniae, from 1645.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1qEIdgiPZqtJKLezjGSS2Cs2mb06arH_f" style="width:100%" onclick="currentSlide(11)" alt="Down Survey Map of Ireland,  prepared from Sir William Petty's Survey c. 1653. Courtesy of Trinity College Dublin.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1NmJqOO4PR6__HWLJJhH1iWYo1rp3D_7s" style="width:100%" onclick="currentSlide(12)" alt="Down Survey Map of County Donegal,  prepared from Sir William Petty's Survey c. 1653. Courtesy of the Bibliotheque National de France. ">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1knDgrcHkbf_e_F6oeSTURG1Cmu1Mii-d" style="width:100%" onclick="currentSlide(13)" alt="Down Survey Map of the Barony of 'Enishowen',  prepared from Sir William Petty's Survey c. 1653. Courtesy of the Library of Trinity College Dublin.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1nwsaFLbGd2SzGjadamaHe25Oz9ufFJuZ" style="width:100%" onclick="currentSlide(14)" alt="1661 Hollar and Parson map of the barony of Inishowen. Courtesy of the Board of Trinity College, Dublin.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1XXlVT14aE3StIzimXowpMgauoB5kUD0S" style="width:100%" onclick="currentSlide(15)" alt="'Hiberniae Regnum tam in praecipuas Ultoniae, Connaciae, Lageniae, et Momoniae...' Published by Nicolaes Visscher II c. 1689.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1u8ml-b9gAc9qSThBQP8xFqbBYymyzQxw" style="width:100%" onclick="currentSlide(16)" alt="'A true survey of The Earl of Donagals barronie of Enish Owen…' dated 1693 by Thomas Phillips. Map reproduction courtesy of the Boston Public Library.">
    </div>  
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1wFvYmu4n7wfcHluJAbC-XFrwiRYpF91w" style="width:100%" onclick="currentSlide(17)" alt="Map of County Donegal c. 1790.">
    </div>
    <div class="column">
      <img class="demo cursor" src="https://drive.google.com/uc?id=1-HMf5V5h2RYp9MU1uEb9rZSIfQcVdc8H" style="width:100%" onclick="currentSlide(18)" alt="Inishowen from space taken St. Patrick's Day 2013 by astronaut  Chris Hadfield, Commander of the International Space Station.">
    </div>    
  </div>
</div>

<script>
var slideIndex = 1;
showSlides(slideIndex);

function plusSlides(n) {
  showSlides(slideIndex += n);
}

function currentSlide(n) {
  showSlides(slideIndex = n);
}

function showSlides(n) {
  var i;
  var slides = document.getElementsByClassName("mySlides");
  var dots = document.getElementsByClassName("demo");
  var captionText = document.getElementById("caption");
  if (n > slides.length) {slideIndex = 1}
  if (n < 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";
  captionText.innerHTML = dots[slideIndex-1].alt;
}
</script>

</body>
</html>
...