zoukankan      html  css  js  c++  java
  • JavaScript-table+大图滚动

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }
          .wrap{
              width: 510px;
              margin: 0 auto;
              overflow: hidden;
                position: relative;
          }
          .caktye{
              width: 9999px;
              overflow: hidden;
              position: relative;
              left: 0;
          }
          .main{
              text-align: center;
                position: absolute;
                bottom: 10px;
                /*border: 1px solid red;*/
                left: 35%;
    
          }
          .main button{
              width: 25px;
                height: 25px;
                text-align: center;
                line-height: 25px;
                border-radius: 25px;
                display: inline-block;
                border: none;
          }
          .active{
              background-color: yellow;
          }
          .caktye a{
              float: left;
          }
          .caktye img {
                display: block;
                width:510px;
            }
          #prevBtn{
                   display: block;
                   position: absolute;
                   left: 5px;
                    bottom: 45%;
                width: 15px;
                height: 15px;
                /*overflow: hidden;*/
                border-left: 5px solid ;
                border-top: 5px solid ;
                 border-color: rgba(255,255,255,0.5);
                -webkit-transform: rotate(45deg);
                transform: rotate(-45deg);
          }
          #nextBtn{
                display: block;
                position: absolute;
                right: 5px;
                bottom: 45%;
                width: 15px;
                height: 15px;
                /*overflow: hidden;*/
                border-right: 5px solid;
                border-top: 5px solid;
                -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
                border-color: rgba(255,255,255,0.5);
                /*background-color: rgba(255,255,255,0.8);*/
          }
    
        </style>
    </head>
    <body>
      
        <div class="wrap">
          <div class="caktye" id="inner">
            <a href="###"><img src="img/1.jpg"></a>
            <a href="###"><img src="img/2.jpg"></a>
            <a href="###"><img src="img/3.jpg"></a>
            <a href="###"><img src="img/4.jpg"></a>
            <a href="###"><img src="img/5.jpg"></a>
                <a href="###"><img src="img/1.jpg"></a>
          </div>
            <div class="main">
                <button class="active">1</button>
                <button>2</button>
                <button>3</button>
                <button>4</button>
                <button>5</button>
          </div>
          <div>
                <a href="###" id="prevBtn"></a>
                <a href="###" id="nextBtn"></a>
    
          </div>
        </div>     
        <script type="text/javascript">
          var innerList = document.getElementById("inner");
          var btnList = document.getElementsByTagName("button");
          var perWidth =  inner.children[0].offsetWidth;
          var prevBtn = document.getElementById("prevBtn");
          var nextBtn = document.getElementById("nextBtn");
          // var imgList = inner.getElementsByTagName("img");
          
          // var perWidth = imgList[0].offsetWidth;
          var timer = 0;
          var timer1 = 0;
          var index =0;
          var runFlag = true; //设置一个动画是否走完的标志位
    
         for(var i = 0; i < btnList.length; i++) {
                btnList[i].index = i;
                btnList[i].onclick = function() {
                      index = this.index;
                      
                      tab();
                }
          }
          function tab() {
                var start = inner.offsetLeft;
                var end = - perWidth * index;
                var change = end - start;
                var t = 0;
                var maxT = 30;
    
                clearInterval(timer1);
                timer1 = setInterval(function() {
                      t++;
                      if(t >= maxT) {
                            clearInterval(timer1);
                            // alert("停下来了");
                            runFlag = true;
                      }
                      inner.style.left = change/maxT * t + start + "px";
                      if(index == btnList.length && t >= maxT) {
                            inner.style.left = 0;
                      }
                },30)
    
                // inner.style.left =  - perWidth * index + "px";
                for(var j = 0; j < btnList.length; j++) {
                      btnList[j].className = "";
                }
                if(index >= btnList.length) {
                      btnList[0].className = "active";
                }else {
                      btnList[index].className = "active";
                }
                
          }
           function xunhuan(){
                 index++;
         
                      if(index>btnList.length){
                      index=1;
                      }
                      // inner.style.left =  - perWidth * index + "px";
                 tab();
          }
    
         var  timer =setInterval(xunhuan,5000);
    
          inner.onmouseover =function(){
          clearInterval(timer);
          }
          inner.onmouseout =function(){
            timer = setInterval(xunhuan,5000);
          }
    
          function next() {
                index++;
                if(index > btnList.length) {
                      index = 1;
                }
                tab();
          }
          function prev() {
                index--;
                if(index < 0 ) {
                      index = btnList.length - 1;
                      inner.style.left = - btnList.length * perWidth + "px";
                      console.log(index);
                }
                tab();
          }
          //下一张
          nextBtn.onclick = function() {
                clearInterval(timer);
                if(runFlag) {
                      next();
                }
                runFlag = false;
                
          }
          //上一张
          prevBtn.onclick = function() {
                clearInterval(timer);
                if(runFlag) {
                      prev();
                }
                runFlag = false;
                
          }
        </script>
    </body>
    </html>
  • 相关阅读:
    bzoj4262
    bzoj3252
    海蜇?海蜇!
    AGC018F
    java数据类型;常量与变量;类型转化;
    java 基础,查看jar包源码,JD-GUI
    性能测试报告
    如何防止http请求数据被篡改
    支付业务,测试遇到请求超时怎么处理;支付业务流程;异步通知和同步通知;
    fiddler使用;
  • 原文地址:https://www.cnblogs.com/CaktyRiven/p/5114361.html
Copyright © 2011-2022 走看看