首先展示下静态布局h5代码,代码非常简单。

  <div id="slide">

    <ul class="pic-list">

      <li><img src="banner1.jpg"></li>

      <li><img src="banner2.jpg"></li>

      <li><img src="banner3.jpg"></li>

      <li><img src="banner1.jpg"></li>

    </ul>

    <div class="btn next">右</div>

    <div class="btn prev">左</div>

    <ul class="icon-list">

      <li class="active"></li>

      <li></li>

      <li></li>

      </ul>

  </div>

  

  以下代码为样式布局部分。通过先li左浮动,设置ul的overflow值为hidden,将其他图片隐藏。主要结构如下图,黑色框内部分为可见部分。其他部分为不可见。至于为什么多放一张图1,稍后会解释。

   

 css样式

  

<style type="text/css">
  *{
    margin: 0;
    padding: 0;
  }
  ul,li{
    list-style-type: none;
  }
  #slide{
    height: 400px;
    width: 600px;
    margin: 100px auto;
    position: relative;
    overflow: hidden;
  }
  .pic-list{
    width: 2400px;
    height: 400px;
    position: absolute;
    top: 0;
    left: 0;
  }
  .pic-list li{
    float: left;
  }
  .pic-list li img{
    width: 600px;
    height: 400px;
  }
  .btn{
    opacity: 0;
    position: absolute;
    top: 50%;
    height: 50px;
    width: 50px;
    /*opacity: 0.5;*/
    border-radius: 5px;
    cursor: pointer;
    user-select: none;
    background: white;
    font-size: 25px;
    line-height: 50px;
    text-align: center;
    transition: all 1s;
    transform: translateY(-50%);
  }
  .next{
    right: 0;
  }
  .icon-list{
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
  }
  .icon-list li{
    float: left;
    margin: 0 5px;
    height: 10px;
    width: 10px;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
  }
  .icon-list .active{
    background: #fff;
  }

</style>

静态布局后,布局如下图所示

    

静态布局后,最后开始写入JS代码,实现轮播效果,其他的不说 ,先上代码

  

<script type="text/javascript">
    $(function(){
      var timer = null;  //声明一个全局定时器
      var index = 0;  //索引

      $(".next").click(function(){   //点击右按钮,调用下一张
        next();
      });

      $(".prev").click(function(){    //点击左按钮,调用上一张
        prev();
      })

  
      function next(){   //右按钮
        index++;
        if(index > 2){
        /*

          当图片到最后一张时跳回第一张,

          本例中在最后一张中放入了第一张的图片,

          为实现无缝切换图片的效果。
        */
          $(".pic-list").animate({left:-(index)*600},500);
          index = 0;
          $(".pic-list").animate({left:0},0); 
        }

        $(".pic-list").animate({left:-index*600},500);
        iconHover(index);
      }

      function prev(){    //左按钮
        index--;
        if(index < 0 ){
          index = 2;
          $(".pic-list").animate({left:-(index+1)*600},0);
        }
        $(".pic-list").animate({left:-index*600},500);
        iconHover(index);
      }

      
      function auto(){
        timer = setInterval(function(){   //设置自动播放的定时器
          next();
          iconHover(index);
        },2000)
      }

      auto();  //调用auto

      $("#slide").mouseover(function(){   //鼠标移入 定时器取消
          clearInterval(timer);
          $('.btn').css("opacity",0.5)
      })

      $("#slide").mouseleave(function(){    //鼠标离开 定时器开启
          auto();
          $('.btn').css("opacity",0)
      })

      //鼠标碰触圆点图标实现图片左右轮播
      $(".icon-list li").mouseover(function(){
          var index = $(this).index();
          $(".pic-list").animate({left:-index*600},500);
          iconHover(index);
      })

      //实现被选图片对应圆点图标索引更新
      function iconHover(index){
        $(".icon-list li").eq(index).addClass("active").siblings().removeClass("active");
      }

    })

</script>

https://blog.csdn.net/weixin_39230257/article/details/82431354

Jquery实现左右轮播效果的更多相关文章

  1. jQuery个性化图片轮播效果

    jQuery个性化图片轮播效果 购物产品展示:图片轮播器<效果如下所示> 思路说明: 每隔一段时间,实现图片的自动切换及选项卡选中效果,鼠标划入图片动画停止,划出或离开动画开始 两个区域: ...

  2. JQuery实现图片轮播效果源码

    ======================整体结构======================== <div class="banner"> <ul class ...

  3. MBB类似jquery.bxslider插件轮播效果

    首先,如图一:当打开页面是,产品出现了淡入淡出切换轮播状态,当鼠标点击左边的小图时,就会切换出相对应的大图,当鼠标移开的时候,这个轮播就会停止自动轮播,只有人工手动才能进行切换:是一个不错的体验! 如 ...

  4. [转]jQuery实现图片轮播效果,jQuery实现焦点新闻

    本文转自:http://blog.csdn.net/tsyj810883979/article/details/8986157 效果图: 实现代码: <!DOCTYPE html> < ...

  5. jquery简单的轮播效果!

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  6. 使用JQuery实现图片轮播效果

    [效果如图] [原理简述] 这里大概说一下整个流程: 1,将除了第一张以外的图片全部隐藏, 2,获取第一张图片的alt信息显示在信息栏,并添加点击事件 3,为4个按钮添加点击侦听,点击相应的按钮,用f ...

  7. jQuery带缩略图轮播效果图片切换带缩略图

    以上为效果图 HTML代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /& ...

  8. [Jquery]焦点图轮播效果

    $(function(){    var $next=$(".right");    var $prev=$(".left");    var $list_nu ...

  9. (转)jquery实现图片轮播

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. JVM 对象查询语言(OQL)[转载]

    最近生产环境出现一个很奇怪的问题,测试环境无法重现,本地直连生产无法重现.于是用上 jmap + Java VisualVM 的 OQL (Object Query Language) 分析问题. 关 ...

  2. ant+jmeter+jenkins自动环境搭建

    一.安装前准备 1.JDK:jdk-8u131-windows-x64 2.jmeter工具:apache-jmeter-5.1.1 3.ANT工具:apache-ant-1.10.3 4.jenki ...

  3. django中添加新的filter

    给模板传递了一个字典,却发现无法在模板中直接通过key获得value. 查阅资料后,这个问题可以通过添加自定义的filter来解决. 首先在app目录下创建一个templatetags目录,并在它的下 ...

  4. 201871010104-陈园园 《面向对象程序设计(java)》第十一周学习总结

    201871010104-陈园园 <面向对象程序设计(java)>第十一周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...

  5. 创建war类型项目(六)

    1. 创建maven project时选择packaging为war: 2. 在webapp文件夹下新建META-INF和WEB-INF/web.xml web.xml模板 <?xml vers ...

  6. org.slf4j.helpers.Log4jLoggerFactory is not on classpath. Good!

    View Javadoc 1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contrib ...

  7. Github上 10 个开源免费且优秀的后台控制面板

    Web 开发中几乎的平台都需要一个后台管理,但是从零开发一套后台控制面板并不容易,幸运的是有很多开源免费的后台控制面板可以给开发者使用,那么有哪些优秀的开源免费的控制面板呢?我在 Github 上收集 ...

  8. linux下找到JVM占用资源最高的线程

    linux的top命令不仅可以看线程的资源占用,还可以看进程下线程的资源占用,结合对应的java命令可以定位到具体有问题的Java代码,以找出占用CPU最高的线程为例: 第一步: 通过 top命令查找 ...

  9. 这篇文章主要讲解C#中的泛型,泛型在C#中有很重要的地位,尤其是在搭建项目框架的时候。

    一.什么是泛型 泛型是C#2.0推出的新语法,不是语法糖,而是2.0由框架升级提供的功能. 我们在编程程序时,经常会遇到功能非常相似的模块,只是它们处理的数据不一样.但我们没有办法,只能分别写多个方法 ...

  10. mac 下使用shell 命令 jq 解析json

    官网 https://stedolan.github.io/jq/download/ 安装 brew install jq 创建json文件,file.json { , "msg" ...