zoukankan      html  css  js  c++  java
  • jquery手写焦点轮播图-------解决最后一张无缝跳转第一张的问题

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>轮播图</title>
        <style>
            *{padding: 0;margin: 0;list-style-type: none;}
            .wrap{width: 520px;height: 280px;margin: 50px auto;}
            .banner{width: 520px;height: 280px;overflow: hidden;position: relative;}
            .imgList{width: 1560px;height: 280px;overflow: hidden;position: absolute;left: 0;}
            .imgList li{float: left;width: 520px;height: 280px;}
            #left,#right{position: absolute;top: 120px;z-index: 50;cursor: pointer;}
            #left{left: 0px;}
            #right{right: 0px;}
        </style>
    </head>
    <body>
        <div class="wrap">
            <div class="banner">
                <ul class="imgList">
                    <li><img src="img/ban01.png"></li>
                    <li><img src="img/ban02.png"></li>
                    <li><img src="img/ban03.png"></li>
                </ul>
                <img src="img/left.png" id="left">
                <img src="img/right.png" id="right">
            </div>
        </div>
    
      <script type="text/javascript" src="jquery.min.js"></script>
      <script type="text/javascript">
    
    /*.....这样写无法实现最后一张无缝跳转第一张......*/
    /*      var curIndex = 0;
          var imgLen = $(".imgList li").length;
          var autoChange = setInterval(function(){
              if(curIndex<imgLen-1)
                  {
                      curIndex++;}
              else{
                  curIndex = 0;}
              changeTo(curIndex);
          },2500);
          function changeTo(index){
              var goLeft = index * 520;
              $(".imgList").animate({left:"-" + goLeft + "px"},500);
          }*/
    
    /*.....这样写可以实现最后一张无缝跳转第一张(原理就是把第一张克隆到最后一张后面)......*/
        var timer = setInterval(function() {
                    $(".imgList").animate({
                        "left": "-520px"
                    }, 500, function(){
                        $(".imgList").children("li:first").insertAfter($(".imgList").children("li:last"));
                        $(".imgList").css("left", 0);
                    });
                }, 2500);
    
    下面这种写法等同上面,只是insertAfter那里写法不一样。
    /* var timer = setInterval(function() { $(".imgList").animate({ "left": "-520px" }, 500, function(){ $(".imgList li:first").insertAfter($(".imgList li:last")); $(".imgList").css("left", 0); }); }, 2500);*/ </script> </body> </html>
  • 相关阅读:
    2021秋 数分B1笔记
    android逆向奇技淫巧二十三:自己写app调用x音关键so(未完待续)(八)
    android逆向奇技淫巧二十二:ida栈回溯加密算法跟踪(未完待续)(七)
    http tcp websocket
    location.reload
    event.preventDefault
    document.querySelector
    造成播放端卡顿的原因
    引入外部组件 Vue.use()和Vue.component()
    Interpolation
  • 原文地址:https://www.cnblogs.com/liuyanxia/p/5794837.html
Copyright © 2011-2022 走看看