Rumah  >  Artikel  >  hujung hadapan web  >  JavaScript和CSS实现的简单的轮播图播放效果(附源码)

JavaScript和CSS实现的简单的轮播图播放效果(附源码)

不言
不言asal
2018-11-07 15:34:092373semak imbas

轮播图通常是关注的焦点,用于照片画廊或许多当代网站的大中心舞台。虽然过去Adobe Flash经常是使用CSS3和JavaScript的首选工具,但是轮播图可以轻松实现而无需大量代码。

我在这里使用的技术是使用标准JavaScript和CSS3实现简单轮播图的最简单方法之一,具有良好的交叉渐变过渡效果。

基本HTML是微不足道的。只需将几个图像放入div容器中:

<div class="slides">
  <img src="image/cup.jpg" >
  <img src="image/flower.jpg">
  <img src="image/flowers.jpg">
  <img src="image/strawberry.jpg">
  <img src="image/greatwall.jpg">
</div>

使用CSS在容器内堆叠所有图片并定义过渡(特定于浏览器的前缀可能必须用于过渡):

/* the slide container with a fixed size */
.slides {
  box-shadow: 0px 0px 6px black;
  margin: 0 auto;
  width: 500px;
  height: 300px;
  position: relative;
  }
  /* the images are positioned absolutely to stack. opacity transitions are animated. */
  .slides img { 
  display: block;
  position: absolute; 
  transition: opacity 1s;
  opacity: 0;
  width: 100%;
  }
  /* the first image is the current slide. it&#39;s faded in. */
  .slides img:first-child { 
  z-index: 2; 
  /* frontmost */
  opacity: 1;
  }
  /* the last image is the previous slide. it&#39;s behind the current slide and it&#39;s faded over. */
  .slides img:last-child {
  z-index: 1; 
  /* behind current slide */
  opacity: 1;
  }

在这个简单的设置之后,剩下的就是更改轮播图的顺序以推进轮播图放映。以下代码段定期将第一张图像(当前图片)移动到容器的末尾,从而使下一张图像成为当前图片。由于上面定义的CSS规则,更改以交叉渐变为动画。

function nextSlide() {
    var q = function(sel) {
     return document.querySelector(sel); 
     }   
    q(".slides").appendChild(q(".slides img:first-child"));
    }
    setInterval(nextSlide, 3000)

以上就是步骤的分析,下面是完整代码





	
	
	


<div class="slides">
  <img src="image/cup.jpg" >
  <img src="image/flower.jpg">
  <img src="image/flowers.jpg">
  <img src="image/strawberry.jpg">
  <img src="image/greatwall.jpg">
</div>

效果如下:

GIF.gif

Atas ialah kandungan terperinci JavaScript和CSS实现的简单的轮播图播放效果(附源码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn