在不同的文件中创建幻灯片

时间:2016-07-29 13:19:42

标签: javascript html css

这是html代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="style2.css">
    <script src="learn1.js"</script>
</head>
<body>
   <div class="slideshow-container">

<div class="mySlides fade">
  <div class="numbertext">1 / 3</div>
  <img src="learnimg/1.jpg" style="width:100%">
  <div class="text">Caption Text</div>
</div>

<div class="mySlides fade">
  <div class="numbertext">2 / 3</div>
  <img src="learnimg/2.jpg" style="width:100%">
  <div class="text">Caption Two</div>
</div>

<div class="mySlides fade">
  <div class="numbertext">3 / 3</div>
  <img src="learnimg/3.jpg" style="width:100%">
  <div class="text">Caption Three</div>
</div>

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

</div>
<br>

<div style="text-align:center">
  <span class="dot" onclick="currentSlide(1)"></span>
  <span class="dot" onclick="currentSlide(2)"></span>
  <span class="dot" onclick="currentSlide(3)"></span>
</div>
</body>
</html>`

这是css代码

* {box-sizing:border-box} body {font-family: Verdana,sans-serif;margin:0}

/* Slideshow container */ .slideshow-container {   max-width: 1000px; 
position: relative;   margin: auto; }

/* Next & previous buttons */ .prev, .next {   cursor: pointer;  
position: absolute;   top: 0;   top: 50%;   width: auto;   padding:
16px;   margin-top: -22px;   color: white;   font-weight: bold;  
font-size: 18px;   transition: 0.6s ease;   border-radius: 0 3px 3px
0; }

/* 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); }

/* Caption text */ .text {   color: #f2f2f2;   font-size: 15px;  
padding: 8px 12px;   position: absolute;   bottom: 8px;   width: 100%;
text-align: center; }

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

/* The dots/bullets/indicators */ .dot {   cursor:pointer;   height:
13px;   width: 13px;   margin: 0 2px;   background-color: #bbb;  
border-radius: 50%;   display: inline-block;   transition:
background-color 0.6s ease; }

.active, .dot:hover {   background-color: #717171; }

/* Fading animation */ .fade {   -webkit-animation-name: fade;  
-webkit-animation-duration: 1.5s;   animation-name: fade;   animation-duration: 1.5s; }

@-webkit-keyframes fade {   from {opacity: .4}   to {opacity: 1} }

@keyframes fade {   from {opacity: .4}   to {opacity: 1} }

/* On smaller screens, decrease text size */ @media only screen and
(max-width: 300px) {   .slprev, .slnext,.text {font-size: 11px} }

这是javascript代码

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("dot");   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"; }

所有这3个代码都在不同的文件中。这基本上是为了创建三个图像的简单幻灯片。但是当我执行它(所有在不同的文件中)时,没有任何东西可以显示(浏览器中的白屏)。但是当在单个html文件中执行时(单个文件中的所有内容)都有一个完美的幻灯片显示。

我无法弄清楚这个问题。请帮帮我。

2 个答案:

答案 0 :(得分:1)

这似乎不对:

<script src="learn1.js"</script>

您忘了关闭开始标记,因此:

<script src="learn1.js"></script>

另外,指定资源类型总是一个好习惯:

<script type="text/javascript" src="learn1.js"></script>

答案 1 :(得分:0)

您发布的代码似乎工作正常。

也许图片文件不在你说的地方?

尝试打开console并查找错误。

&#13;
&#13;
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("dot");
  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";
}
&#13;
{
  box-sizing: border-box
}
body {
  font-family: Verdana, sans-serif;
  margin: 0
}
/* Slideshow container */

.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
}
/* Next & previous buttons */

.prev,
.next {
  cursor: pointer;
  position: absolute;
  top: 0;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
}
/* 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);
}
/* Caption text */

.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}
/* Number text (1/3 etc) */

.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}
/* The dots/bullets/indicators */

.dot {
  cursor: pointer;
  height: 13px;
  width: 13px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}
.active,
.dot:hover {
  background-color: #717171;
}
/* Fading animation */

.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}
@-webkit-keyframes fade {
  from {
    opacity: .4
  }
  to {
    opacity: 1
  }
}
@keyframes fade {
  from {
    opacity: .4
  }
  to {
    opacity: 1
  }
}
/* On smaller screens, decrease text size */

@media only screen and (max-width: 300px) {
  .slprev,
  .slnext,
  .text {
    font-size: 11px
  }
}
&#13;
<div class="slideshow-container">

  <div class="mySlides fade">
    <div class="numbertext">1 / 3</div>
    <img src="https://placeholdit.imgix.net/~text?txtsize=60&txt=1&w=100&h=100" style="width:100%">
    <div class="text">Caption Text</div>
  </div>

  <div class="mySlides fade">
    <div class="numbertext">2 / 3</div>
    <img src="https://placeholdit.imgix.net/~text?txtsize=60&txt=2&w=100&h=100" style="width:100%">
    <div class="text">Caption Two</div>
  </div>

  <div class="mySlides fade">
    <div class="numbertext">3 / 3</div>
    <img src="https://placeholdit.imgix.net/~text?txtsize=60&txt=3&w=100&h=100" style="width:100%">
    <div class="text">Caption Three</div>
  </div>

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

</div>
<br>

<div style="text-align:center">
  <span class="dot" onclick="currentSlide(1)"></span>
  <span class="dot" onclick="currentSlide(2)"></span>
  <span class="dot" onclick="currentSlide(3)"></span>
</div>
&#13;
&#13;
&#13;