jquery实现淡入淡出轮播图效果

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

jquery实现淡入淡出轮播图效果

两岁小小码农   2020-12-13 我要评论
这篇文章主要为大家详细介绍了jquery实现淡入淡出轮播图效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

如题所述,直接上代码

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>Document</title>
</head>
<style>
 * {
  padding: 0px;
  margin: 0px;
 }

 /* 盒子 */
 .box {
  position: relative;
 }

 /* banner图 */
 .box,
 .banner {
  width: 1000px;
  height: 500px;
  margin: 50px auto;
 }

 .box .banner {
  position: relative;
  list-style: none;
 }

 .banner li {
  display: none;
 }

 .box ul li img {
  position: absolute;
 }

 .banner .b1 {
  display: block;
 }

 span {
  background: rgb(0, 0, 0, 0.5);
  width: 40px;
  height: 50px;
  display: block;
  position: absolute;
  left: 0px;
  top: 50%;
  z-index: 3;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  font-family: "宋体";
  font-size: 20px;
  color: white;
 }

 .right {
  left: auto;
  right: 0px;
 }

 .bottom {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  list-style: none;
 }

 .bottom li {

  width: 10px;
  height: 10px;
  background: rgb(255, 255, 255);
  float: left;
  border-radius: 50%;
  margin: 0px 5px;
  /* 重影 */
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  cursor: pointer;
 }

 .bottom .on {
  background: rgb(255, 153, 0);
 }
</style>
<script src="https://libs.baidu.com/jquery/2.0.0/jquery.js"></script>

<body>
 <div class="box">
  <!-- 轮播图 -->
  <ul class="banner">
   <li class="b1">
    <img src="../img/timg.jpg" alt="">
   </li>
   <li>
    <img src="../img/timg1.jpg" alt="">
   </li>
   <li>
    <img src="../img/timg2.jpg" alt="">
   </li>
   <li>
    <img src="../img/timg3.jpg" alt="">
   </li>
   <li>
    <img src="../img/timg4.jpg" alt="">
   </li>
  </ul>
  <!-- 左右切换 -->
  <span class="left">
   < </span> <span class="right">>
  </span>
  <!-- 底部按钮 -->
  <ol class="bottom">
   <li class="on"></li>
   <li></li>
   <li></li>
   <li></li>
   <li></li>
  </ol>
 </div>
</body>
<script>
 var $box = $(".box");
 var $bli = $(".box ul li");
 var $bleft = $(".box .left");
 var $bright = $(".box .right");
 var $dot = $(".box .bottom li");
 var timer = null;
 var num = 0;
 // 因为几行代码一样 所以进行代码封装
 function play() {
  num = num % $bli.length;
  $bli.eq(num).stop().fadeIn(800).siblings().fadeOut(800);
  $dot.eq(num).addClass("on").siblings().removeClass("on");
 }

 function autoplay() {
  timer = setInterval(function () {
   num++;
   play();
  }, 2000);
 };
 autoplay();
 // 当鼠标放上去的时候 计时器停止 移除的时候计时器工作
 // $box.hover(function() {
 //  clearInterval(timer);  
 // },function() {
 //  autoplay(); 
 // });
 // 下面是同样的效果 另一种写法
 $box.mouseover(function () {
  clearInterval(timer);
 });
 $box.mouseout(function () {
  autoplay();
 });
 $bleft.click(function () {
  num--;
  play();
 });
 $bright.click(function () {
  num++;
  play();
 });
 $dot.click(function (event) {
  var index = $(this).index();
  num = index;
  $bli.eq(num).stop().fadeIn(800).siblings().fadeOut(800);
  $dot.eq(num).addClass("on").siblings().removeClass();
 });
</script>

</html>

其实淡入淡出轮播图的核心思想就是获取到当前的索引,根据索引找出图片的索引然后更改索引达到一个图片显示 其他图片消失 然后轮流交替进行的。最主要的核心思想在上面sibinling()中 通过这个方法让当前元素进行淡入操作但是让其他元素进行淡出操作,所以效果上就形成了,一张张图盘轮流出来的效果。

更多关于轮播的精彩文章,请点击《jquery图片轮播》进行学习

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们