<div class="content"> <button class="left">left</button> <button class="right">right</button> <div class="index"></div> <div class="lists"> <!--<!–width: item的數量÷3乘以100%–>--> <div class="box"> <!--width: 1÷item的數量乘以100%--> <div class="item"> <img src="a.png" <p>aaa</p> </div> <div class="item active"> <img src="b.png" <p>bbb</p> </div> <div class="item"> <img src="c.png" <p>ccc</p> </div> <div class="item"> <img src="d.png" <p>ddd</p> </div> <div class="item"> <img src="e.png" <p>eee</p> </div> <div class="item"> <img src="f.png" <p>ffff</p> </div> </div> </div> </div>
<script>      $(function(){//        循環數據 假設有個數組,有10條數據//         var arr = [1,2,3,4,5,6,7,8,9,10];//         var arr_len = arr.length;//         var box = '<div class="box" style="width: '+arr_len/3*100+'%;"></div>';//         $('.lists').append(box);//         for (var i = 0; i < arr_len;i++){//           var newDiv = document.createElement('div');//           newDiv.innerHTML = '<img src="static/images/search-icon.png"/>'+//             '<p>' +//             (i+1)+//             '</p>';//           newDiv.className = 'item '+(i==1?'active':'');//           newDiv.style = 'width: '+1/arr_len*100+'%;';//           newDiv.onclick = (function(ind) {//             return function () {//               index = ind-1;//               console.log(ind)//               $(".box").animate({left: -index*100/3+"%"})//               $(".item").removeClass('active')//               $($(".item")[index+1]).addClass('active');//               $('.index').text(index+2)//             }//           })(i) ;//           $('.box').append(newDiv);//         }        var arr_len = $('.item').length;        $('.box').css({width: arr_len/3*100+'%'})        $('.item').css({width: 1/arr_len*100+'%'})        $('.item').on('click',function (e) {          var _this = $(e.target);          if (!_this.hasClass('item')){            _this = _this.parents('.item');          }          index = _this.index('.item')-1;          $(".box").animate({left: -index*100/3+"%"})          $(".item").removeClass('active')          $($(".item")[index+1]).addClass('active');          $('.index').text(index+2)        })        var index = 0;        var len = arr_len;        var temp = true;        var pageX,pageY;        $('.content').on('touchstart',function (e) {          var touches = e.originalEvent.targetTouches[0];          pageX = touches.pageX;          pageY = touches.pageY;        }).on('touchmove',function (e) {          var touches = e.originalEvent.targetTouches[0];          if (pageX>touches.pageX+20){            left()          }else if (pageX<touches.pageX-20){            right()          }        })        $(".left").on('click',left)        $(".right").on('click',right)        function left() {          console.log(index,temp,'left')          if (index < len-2&&temp){            index++;            move(index)          }        }        function right() {          if (index > 0&&temp){            index--;            move(index)          }        }        function move(index) {          if (temp){            temp = false;            var left = $(".box").offset().left;            $(".box").animate({left: -index*100/3+"%"},function () {              temp = true;            })            $(".item").removeClass('active')            $($(".item")[index+1]).addClass('active');            $('.index').text(index+2)          }        }      }).lists {        position: relative;        height: 100px;        overflow: hidden;      }      .box {        position: absolute;      }      .item {        float: left;        background: #008000;        height: 100px;      }      .item img {        width: 20px;        display: block;        margin: 0 auto;      }      .item p {        text-align: center;      }      .item.active {        background: #0000FF;        font-size: 30px;      }      .item.active img {        width: 40px;      }      .item.active p {        font-size: 30px;      }總結
以上所述是小編給大家介紹的JS實現點擊拉拽輪播圖pc端移動端適配,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!
新聞熱點
疑難解答