javascript和JQuery焦点图和代码特效大全
当前最流行的开源CMS网站系统大全
当前位置:首页 > WEB前端 > JavaScript > 

js实现单张图片平移切换效果

来源:IT技术网编辑:雨天发布于:2017-10-12人围观

由于个人不需要手动切换功能,因此把那部分的内容删了,主要是增加了无缝切换的效果。
原理也很简单,大概是一张图移动到左边以后,从底部移回最右,等待下一次循环。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="js/jquery-1.10.1.min.js"></script>
</head>
<body>
<div class="wrapper">
  <h1>jquer实现图片切换</h1>
  <div id="focus">
   <ul>
    <!-- 这里有三个z-index的设置 -->
     <li><div class="switch_pic" style="z-index: 3;background: url('imgs/01.jpg') center center;background-size: cover;"></div></li>
     <li><div class="switch_pic" style="z-index: 2;background: url('imgs/02.jpg') center center;background-size: cover;"></div></li>
     <li><div class="switch_pic" style="z-index: 1;background: url('imgs/03.jpg') center center;background-size: cover;"></div></li>
     <li><div class="switch_pic" style="background: url('imgs/04.jpg') center center;background-size: cover;"></div></li>
     <li><div class="switch_pic" style="background: url('imgs/meiko2.jpg') center center;background-size: cover;"></div></li>
     <li><div class="switch_pic" style="background: url('imgs/meiko7.jpg') center center;background-size: cover;"></div></li>
   </ul>
   </div>
  </div>
  <script type="text/javascript">
  $(function() {
  var sWidth = $("#focus").width();
  var len = $("#focus ul li").length;
  var index = 0;
  var picTimer;
  var $pics = $("#focus ul li").find('.switch_pic');//获取所有图片

   showPics(index); //网页打开立即执行一次动画
   picTimer = setInterval(function() {
    index++;
    if(index == len) {index = 0;}
    showPics(index);
   },3000);//3000毫秒的间隔

  //显示图片函数,根据接收的index值显示相应的内容
  function showPics(index) { //普通切换
   var nowLeft = -sWidth; //每次移动固定量

   var $pic = $pics.eq(index);//获取当前要移出的图片
   var $nexPic = $pics.eq((index+1)%len);//当前要移入的图片
   var $nexnexPic = $pics.eq((index+2)%len);//下一个要移入的图片
   $nexPic.css("left",sWidth);//下一个图片移动到最右

   //当前要移出的图片开始左移,模式设为平滑"linear",速度和间隔一样
   $pic.animate({"left":nowLeft},3000,"linear",function(){
    // 当前图片完全移出后,重新设置z-index
    $pic.css("z-index",1);
    $nexPic.css("z-index",3);
    $nexnexPic.css("z-index",2);
   });
   //当前要移入的图片同时左移
   $nexPic.animate({"left":0},3000,"linear");
  }
});
</script>
<style type="text/css">
*{margin:0;padding:0;}
body{font-size:12px;color:#222;font-family:Verdana,Arial,Helvetica,sans-serif;background:#f0f0f0;}
.clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;}
.clearfix{zoom:1;}
ul,li{list-style:none;}
img{border:0;}
.wrapper{width:800px;margin:0 auto;padding-bottom:50px;}
h1{height:50px;line-height:50px;font-size:22px;font-weight:normal;font-family:"Microsoft YaHei",SimHei;margin-bottom:20px;}

#focus{width:450px;height:350px;overflow:hidden;position:relative;}
#focus ul{height:380px;position:absolute;}
#focus ul li{float:left;width:450px;height:350px;overflow:hidden;position:absolute;background:#000;}
#focus ul li div{position:absolute;overflow:hidden;width: 450px;height: 350px;}
</style>
</body>
以上就是本文的全部内容,希望对大家的学习有所帮助

与相关的文章
有时间的话来看看IT界的突发事件