利用html5实现图片的淡入淡出效果

来自:互联网
时间:2020-12-15
阅读:

目的:

实现图片的淡入淡出效果

具体代码如下:

<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<meta name='apple-mobile-web-app-capable' content='yes' />
<meta name="format-detection" content="telephone=no" />
<meta http-equiv='Content-Type' content='textml;charset=UTF-8' />
<title>移动端</title>
<style>
    *{
  padding: 0;
  margin: 0;
}
#slideshow{
  width: 160px;  
  height: 600px;
  margin: 0 auto; /*设置在页面水平居中*/
  overflow: hidden;
  position: relative;  
}
#slideshow img{
  width: 160px;
  position: absolute; /*图片采取绝对定位,均位于左上角,重叠在一起*/
  top: 0;
  left: 0;
  opacity: 0; /*初始不透明度为0,图片都看不见*/
  transition: opacity 1s linear; /*--重点--定义一个关于透明度的transition*/
}
#slideshow img.active{
  opacity: 1; /*有active类的图片不透明度为1,即显示图片*/
}

</style>
</head>
<body>    
<div id="slideshow">
  <!-- 插入轮播的图片们 -->
    <img src="img/1 (1).jpg" />
    <img src="img/1 (2).jpg" />
    <img src="img/1 (3).jpg" />
    <img src="img/1 (4).jpg" />
    <img src="img/1 (5).jpg" />
    <img src="img/1 (6).jpg" />
    <img src="img/1 (7).jpg" />
    <img src="img/1 (8).jpg" />
    <img src="img/1 (9).jpg" />
    <img src="img/1 (10).jpg" />
    <img src="img/1 (11).jpg" />

</div>
<script>
    //---------主角:轮播图函数-------------
function slideshow() {
  var slideshow=document.getElementById("slideshow"),
  imgs=slideshow.getElementsByTagName("img"), //得到图片们

  current=0; //current为当前活跃的图片编号

  function slideOff() {
    imgs[current].className=""; //图片淡出

  }
  function slideOn() {
    imgs[current].className="active"; //图片淡入

  }

  function changeSlide() { //切换图片的函数
    slideOff();
    current++; //自增1
    if(current>=imgs.length) current=0;
    slideOn();
  }

  //每2s调用changeSlide函数进行图片轮播
  var slideon=setInterval(changeSlide,2000);

  slideshow.onmouseover=function () {
    clearInterval(slideon); //当鼠标移入时清除轮播事件
  }
  slideshow.onmouseout=function () {
    slideon=setInterval(changeSlide,1500); //当鼠标移出时重新开始轮播事件
  }


}

slideshow();
</script>
</body>
</html>
返回顶部
顶部