HTML、CSS、JavaScript模仿豆瓣市集

哈哈  这个网页是一个大作业  让学生自主选择网页题目  然后复刻该网页  我选了豆瓣市集的首页   恩  做的还是有点差距  不过已经差不多了  希望能给大家一个参考

代码来啦

HTML代码:

<!DOCTYPE html>
<html>
<head>
    <title>finall task</title>
    <link rel="stylesheet" type="text/css" href="zmx_finall.css">
</head>
<body>
    <div id="all">
    <body>
        <div class="nav">
            <ul>
                <li>
                    <a href="https://market.douban.com/?utm_campaign=douban_top_nav&utm_source=douban&utm_medium=pc_web">豆瓣</a>
                </li>
                <li>
                    <a href="#">读书</a>
                </li>
                <li>
                    <a href="#">电影</a>
                </li>
                <li>
                    <a href="#">音乐</a>
                </li>
                <li>
                    <a href="#">同城</a>
                </li>
                <li>
                    <a href="#">小组</a>
                </li>
                <li>
                    <a href="#">阅读</a>
                </li>
                <li>
                    <a href="#">FM</a>
                </li>
                <li>
                    <a href="#">时间</a>
                </li>
                <li>
                    <a href="#">市集</a>
                </li>
                <li>
                    <a href="#">更多</a>
                </li>
                <li style="float:right ;margin-right:12px;">
                    <a href="#">登录/注册</a>
                </li>                
                <li style="float:right; margin-right:3px;">
                    <a href="#">下载豆瓣客户端</a>
                </li>
            </ul>
        </div>
    <div class="top_blank">
            <div class="dropdown">
                <img src="personal.jpg"  style="float:right;">
                <div class="dropdown-content">
                    <p>市集/纸书订单</p><br>
                    <p>我的优惠券</p><br>
                    <p>收货地址管理</p><br>
                </div>
            </div>
            <div id="top_img" style="text-align: center;">
                <img src="top_img.jpg">
            </div>
   </div>    

  <!--  <div class="slide_img">
    <img src="slide2.jpg">
   </div> -->


    <div id="wrap"><!-- 图片展示区 -->
        <div id="inner" class="clear"><!-- 所有图片并排的块 -->
            <img src="slide1.jpg" alt="">
            <img  src="slide2.jpg" alt="">
            <img  src="slide3.jpg" alt="">
            <img  src="slide4.jpg" alt="">
            <img  src="slide5.jpg" alt="">
            <img  src="slide6.jpg" alt="">
            <img  src="slide7.jpg" alt="">

        </div>
        <div class="paganation" id="paganation"><!-- 页面按钮区域 -->
            <span class ="selected">○</span>
            <span>○</span>
            <span>○</span>
            <span>○</span>
            <span>○</span>
            <span>○</span>
            <span>○</span>
       <!--      <span>○</span> -->
        </div>
        <div id="left" class="arrow"><</div><!-- 向左切换按钮 -->
        <div id="right" class="arrow">></div><!-- 向右切换按钮 -->    
    </div>  

 


   <div class="middle_container">

       <div class="block">
           <div class="block_part">
               <div class="block_img">
                   <img src="block1_1.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣相册</h5>
            <p class="product-desc">回忆,是一种相见的方式</p>
            <div class="product-prices">
                <span class="sale-price">&#165;136</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>

           
           <div class="block_part">
               <div class="block_img">
                   <img src="block1_2.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣咖啡</h5>
            <p class="product-desc">收藏世界风味</p>
            <div class="product-prices">
                <span class="sale-price">&#165;56</span>      
                  <span class="product-tag">
                    新品上市
                 </span>
            </div>
          </div>
           </div>

           <div class="block_part">
               <div class="block_img">
                   <img src="block1_3.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣晴雨伞</h5>
            <p class="product-desc">防水防晒,真正晴雨两用</p>
            <div class="product-prices">
                <span class="sale-price">&#165;138</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>        
       </div>

           <div class="block">
           <div class="block_part">
               <div class="block_img">
                   <img src="block2_1.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣自然系列餐具</h5>
            <p class="product-desc">吃饭,是很重要的小事</p>
            <div class="product-prices">
                <span class="sale-price">&#165;138</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>

           
           <div class="block_part">
               <div class="block_img">
                   <img src="block2_2.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆猫T恤</h5>
            <p class="product-desc">精棉制造,不易变形</p>
            <div class="product-prices">
                <span class="sale-price">&#165;88</span>      
                  <span class="product-tag">
                    新品上市
                 </span>
            </div>
          </div>
           </div>

           <div class="block_part">
               <div class="block_img">
                   <img src="block2_3.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣 丝巾上的美术馆</h5>
            <p class="product-desc">天然桑蚕丝面料</p>
            <div class="product-prices">
                <span class="sale-price">&#165;178</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>        
       </div>

       <div class="block">
           <div class="block_part">
               <div class="block_img">
                   <img src="block3_1.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣藏书票马克杯</h5>
            <p class="product-desc">书与水,时刻在</p>
            <div class="product-prices">
                <span class="sale-price">&#165;65</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>

           
           <div class="block_part">
               <div class="block_img">
                   <img src="block3_2.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣藏书票笔记本</h5>
            <p class="product-desc">扉页宣纸,植入生长植物</p>
            <div class="product-prices">
                <span class="sale-price">&#165;58</span>      
                  <span class="product-tag">
                    新品上市
                 </span>
            </div>
          </div>
           </div>

           <div class="block_part">
               <div class="block_img">
                   <img src="block3_3.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣冻顶乌龙茶</h5>
            <p class="product-desc">源自台湾 地道好茶</p>
            <div class="product-prices">
                <span class="sale-price">&#165;59</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>        
       </div>

       <div class="block">
           <div class="block_part">
               <div class="block_img">
                   <img src="block4_1.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣软面笔记本</h5>
            <p class="product-desc">质地柔软,纯色设计</p>
            <div class="product-prices">
                <span class="sale-price">&#165;39</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>

           
           <div class="block_part">
               <div class="block_img">
                   <img src="block4_2.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣经典帆布包</h5>
            <p class="product-desc">百搭耐用 四色可选</p>
            <div class="product-prices">
                <span class="sale-price">&#165;149</span>      
                  <span class="product-tag">
                    新品上市
                 </span>
            </div>
          </div>
           </div>

           <div class="block_part">
               <div class="block_img">
                   <img src="block4_3.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣相册</h5>
            <p class="product-desc">回忆,是一种相见的方式</p>
            <div class="product-prices">
                <span class="sale-price">&#165;136</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>        
       </div>

       <div class="block">
           <div class="block_part">
               <div class="block_img">
                   <img src="block5_1.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣精品挂耳咖啡</h5>
            <p class="product-desc">甄选精品咖啡</p>
            <div class="product-prices">
                <span class="sale-price">&#165;56</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>

           
           <div class="block_part">
               <div class="block_img">
                   <img src="block5_2.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆猫马克杯</h5>
            <p class="product-desc">回忆,是一种相见的方式</p>
            <div class="product-prices">
                <span class="sale-price">&#165;58</span>      
                  <span class="product-tag">
                    新品上市
                 </span>
            </div>
          </div>
           </div>

           <div class="block_part">
               <div class="block_img">
                   <img src="block5_3.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣读书笔记</h5>
            <p class="product-desc">为深度阅读而设计</p>
            <div class="product-prices">
                <span class="sale-price">&#165;78</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>        
       </div>

       <div class="block">
           <div class="block_part">
               <div class="block_img">
                   <img src="block6_1.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣相册</h5>
            <p class="product-desc">回忆,是一种相见的方式</p>
            <div class="product-prices">
                <span class="sale-price">&#165;136</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>

           
           <div class="block_part">
               <div class="block_img">
                   <img src="block6_2.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣搪瓷杯</h5>
            <p class="product-desc">手工打造 四款文字可选</p>
            <div class="product-prices">
                <span class="sale-price">&#165;68</span>      
                  <span class="product-tag">
                    新品上市
                 </span>
            </div>
          </div>
           </div>

           <div class="block_part">
               <div class="block_img">
                   <img src="block6_3.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣收藏夹</h5>
            <p class="product-desc">万千票据 一本搞定</p>
            <div class="product-prices">
                <span class="sale-price">&#165;99</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>        
       </div>

       <div class="block">
           <div class="block_part">
               <div class="block_img">
                   <img src="block7_1.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">[遇见你]系列笔记本</h5>
            <p class="product-desc">落笔顺畅 书写自如</p>
            <div class="product-prices">
                <span class="sale-price">&#165;48</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>

           
           <div class="block_part">
               <div class="block_img">
                   <img src="block7_2.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">线装笔记本</h5>
            <p class="product-desc">轻巧便捷,记录灵感</p>
            <div class="product-prices">
                <span class="sale-price">&#165;18</span>      
                  <span class="product-tag">
                    新品上市
                 </span>
            </div>
          </div>
           </div>

           <div class="block_part">
               <div class="block_img">
                   <img src="block7_3.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣猫咪年品</h5>
            <p class="product-desc">小猫咪 过大年</p>
            <div class="product-prices">
                <span class="sale-price">&#165;136</span>      
                  <span class="product-tag">
                    新品上市
                  </span>
            </div>
          </div>
           </div>        
       </div>

       <div class="block">
           <div class="block_part">
               <a href="#">
               <div class="block_img">
                   <img src="block8_1.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">[三刻]双肩包</h5>
            <p class="product-desc">双肩斜跨 瞬间变形</p>
            <div class="product-prices">
                <span class="sale-price">&#165;499</span>      
            </div>
          </div>
          </a>
           </div>

           
           <div class="block_part">
              <a href="#">
               <div class="block_img">
                   <img src="block8_2.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣电影日历2019</h5>
            <p class="product-desc">电影 就是生活</p>
            <div class="product-prices">
                <span class="sale-price">&#165;159</span>      
            </div>
          </div>
          </a>
           </div>

           <div class="block_part">
               <a href="#">
               <div class="block_img">
                   <img src="block8_3.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣年品</h5>
            <p class="product-desc">豆瓣年品 年在一起</p>
            <div class="product-prices">
                <span class="sale-price">&#165;78</span>      
            </div>
          </div>
           </div>
           </a>        
       </div>

       <div class="block">
      <div class="block_part">
               <div class="block_img">
                   <img src="block9_1.jpg">
               </div>
               <div class="product-info">
            <h5 class="product-title">豆瓣2019日程本</h5>
            <p class="product-desc">记录日常 规划日程</p>
            <div class="product-prices">
                <span class="sale-price">&#165;88</span>                      
            </div>
          </div>
           </div>
       </div>
   </div>


   <div class="group_container">
  <div class="group-hd">
      <h4>官方小组</h4>
      <a href="#" class="more" target="_blank">
        查看更多 >
      </a>   
  </div>
    <ul class="group-topics" >
        <li class="group-topic-item">
          <div class="topic-update-time">
            06-01
          </div>
          <span class="topic-comment-amount">
            <img src="topic1.jpg" style="width: 40px;height: 30px;vertical-align:text-top;">
          </span>
          <a href="#"
            class="topic-title"
            target="_blank">
            【申请已结束】邀请你免费试用豆瓣自然系列餐具!陪你好好吃饭。
          </a>
        </li>
        <li class="group-topic-item">
          <div class="topic-update-time">
            06-20
          </div>
          <span class="topic-comment-amount">
               <img src="topic2.jpg" style="width: 40px;height: 30px;vertical-align:text-top;">
           <!--  <em>12</em> -->
          </span>
          <a href="#"
            class="topic-title"
            target="_blank">
            【上新通知】豆瓣自然系列餐具,陪你好好吃饭。
          </a>
        </li>
        <li class="group-topic-item">
          <div class="topic-update-time">
            06-16
          </div>
          <span class="topic-comment-amount">
               <img src="topic3.jpg" style="width: 40px;height: 30px;vertical-align:text-top;">
           <!--  <em>4</em> -->
          </span>
          <a href="#"
            class="topic-title"
            target="_blank">
            【补货通知】豆瓣笔记本 遇见·你 补货啦
          </a>
        </li>
    </ul>
</div>

  <div class="topic_container">
  <div class="topics-hd">
    <h4>热门活动 </h4>
  </div>

  <div class="topics-list" style="margin-left: 0;">
        <a href="#" class="topic-item">
          <div class="topic-photo">
              <img src="bottom1_1.jpg">
          </div>
          <div class="topic-info">
            <p class="topic-title">
              #豆瓣年品晒单#
            </p>
            <p class="topic-desc">
              新年,总不能少了年货buff加持
            </p>
            <div class="topic-button">
              立即查看
            </div>
          </div>
        </a>
    </div>

   <div class="topics-list">
        <a href="#" class="topic-item">
          <div class="topic-photo">
              <img src="bottom1_2.jpg">
          </div>
          <div class="topic-info">
            <p class="topic-title">
              #豆瓣经典帆布包#
            </p>
            <p class="topic-desc">
              一个贴心“能装”的好包包
            </p>
            <div class="topic-button">
              立即查看
            </div>
          </div>
        </a>
    </div>


   <div class="topics-list" style="margin-left: 0;">
        <a href="#" class="topic-item">
          <div class="topic-photo">
              <img src="bottom2_1.jpg">
          </div>
          <div class="topic-info">
            <p class="topic-title">
              #晒出你的豆瓣电影日历#
            </p>
            <p class="topic-desc">
              你打算如何用这本日历点缀生活,我们想邀请你和豆友分享。
            </p>
            <div class="topic-button">
              立即查看
            </div>
          </div>
        </a>
    </div>

   <div class="topics-list">
        <a href="#" class="topic-item">
          <div class="topic-photo">
              <img src="bottom2_2.jpg">
          </div>
          <div class="topic-info">
            <p class="topic-title">
              #2019年你计划中最重要的事#
            </p>
            <p class="topic-desc">
              来聊一聊你新一年的“雄心壮志”
            </p>
            <div class="topic-button">
              立即查看
            </div>
          </div>
        </a>
    </div>

  </div>


  <div class="footer">
    <div class="footer-left">
      <span class="logo">
       <img src="footer_logo.jpg">
      </span>
      <div class="info">
        <p>
          © 2019 market.douban.com, all rights reserved
          <a href='#'target='_blank'>北京豆瓣豆品文化有限公司</a>
        </p>
        <p>
          <a href='#'target='_blank'>食品经营许可证: JY11105111524423</a>
          <a href='#'target='_blank'>出版物经营许可证:新出发京批字第直170330号</a>
        </p>
      </div>
    </div>
    <div class="footer-right">
      <div class="footer-kits">
        <a class="item" id="openMarketInfo">
          <img src="state.jpg" style="vertical-align: text-top; ">
          <span>购物说明</span>
        </a>
        <a class="item" id="openMarketService">
           <img src="contract.jpg" style="vertical-align: text-top; margin-left: 37px;">
          <span>联系客服</span>
        </a>
        <a class="item" target="_blank" href="#" style="vertical-align:text-top;margin-left:37px;">
          <img src="advice.jpg" >
          <span>意见反馈</span>
        </a>
        <a class="item" href="#">
           <img src="contract.jpg" style="vertical-align:text-top;margin-left: 37px;" >
          <span>商务合作</span>
        </a>
      </div>
      <div class="contract_forms">
          <img src="footer_forms.jpg">
      </div>
  </div>
</div>

</body>

</html>

css完整代码:

*{
    margin:0px;
}
body{
    width: 100%;
    height:1200px;
    overflow-y:auto;
    overflow-x: hidden;
}
 .nav{
    width:100%;
    height: 35px;
     }
.nav ul
   {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #545652;
    }
    a{
    color:black;
    text-decoration: none;
    }
    .nav li {
    float: left;
    }
            
    .nav li a
    {
    display: block;
    color: lightgrey;
    text-align: center;
    padding: 6px 12px;
    text-decoration: none;
    font-size: 10px;
    }
    .top_blank{
    width: 100%;
    height: 56px;
    margin: 3px 0px;
    background-color: white;
    padding: 12px 16px;
    }
    #top_img
    {
    display: inline-block;
    float:left;
    margin-left:7.8%;
    margin-top:-2.8%;
    }

    .dropdown {
    position: relative;
    display: inline-block;
    margin-top:0.7%;
    margin-left: 83%;
    }
    .dropdown-content {
    display: none;
    position: absolute;
    background-color:white;
    color: lightgrey;
    min-width: 100px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 1);
    padding: 5px 5px;
    font-size: 13px;
    z-index: 10;
    }        

    .dropdown:hover .dropdown-content {
    display: block;
    }    
        
    .block{
    margin-top:4%;
    width: 100%;
    height:410px;
    border: solid;
    border-radius: 10px;        
    border:white;
    }
    .middle_container
    {
        width: 100%;
        background-color: white;

    }

    .block_part
    {
    float: left;
    width: 20%;
    margin-left: 10%;
    }
    .product-info{
    margin-top: 4%;
    }
    .product-title{
    font-size:18px;
    color: #3E3A39;
    font-weight: lighter;
    padding: 2px 0px;
    }
    .product-desc{
    font-size: 15px;
    color: lightgrey;
    padding: 2px 0px;
    }
    .product-prices
    {
    display: inline-block;
    }
    .sale-price
    {
    font-size: 20px;
    color:#DD1944;
    }
    .product-tag
    {
    font-size:10px;
    color: #DD1944;
    border: 1px solid #DD1944;
    padding: 1px 8px;
    margin-left: 3px;
    }
    
    .group_container
    {  
    margin-top: 7%;
    margin-left: 10%;
    margin-right: 10%;
    }
    ul {
      list-style-type: none;
    }

    .group-hd
    {
    display: inline;
    }
    .group-hd h4{
    font-size: 24px;
    font-weight: lighter;
    color: #44883E;
    display:table-cell;
    vertical-align:middle;
    }
    .more{
    float: right;
    color: grey;
    display:table-cell;
    vertical-align:middle;
    }
    .group-topics
    {
    display: inline;
    }
    .group-topic-item
    {
    font-size:18px;
    color: grey;
    padding: 10px 0px;
    border-bottom:1px solid #EEEEEE;
    }
    .topic-update-time
    {
    float: right;
    margin-right: 0px;
    }
    .topic-title
    {
    font-size:16px;
    color: #3E3A39;
    font-weight: lighter;
    padding: 2px 0px;
    display: inline;
    }
    .topic_container{
    margin-top: 4%;
    margin-left: 10%;
    height: 500px;
    }

    .topics-hd h4
    {
       font-size: 24px;
    font-weight: lighter;
    color: #44883E;

    }

    .topics-list
    {
    width:45%;
    float: left;
    margin-left:2%;
    margin-top: 3%;
    background-color: #F3F2F2;
    }
    
    .topic-photo
    {
    float: left;
    }
    .topic-info
    {
    float: left;
    margin-left:20px;
    margin-top: 10%;
    }
    .topic-title
     {
     font-size: 16px;
     font-weight: 500px;
    color: #44883E;
     }
     .topic-desc
     {
     font-size: 10px;
     color:#A9A7A8;;
     margin-top: 5%;
     }
     .topic-button
     {
     width: 60px;
     height: 18px;
     font-size: 10px;
     color: white;
     padding: 4px 20px;
     background-color:#44883E;
    margin-top: 5%;
     }
     .footer-left
     {
     float: left;
     margin-left: 10%;
     margin-top: 4%;
     }
     .footer-right
     {
     float: left;
     margin-left: 10%;
     }
     .footer-right span
     {
     font-size: 15x;
     color:#A9A7A8;
     }
     .footer{
     width: 100%;
     height: 180px;
     margin-top: 6%;
     background-color: #F3F2F2;
     }
     .footer-left a:hover
     {
     text-decoration: underline;
     }
     .footer-right a:hover
     {
     color: lightgrey;
     }
     .logo
     {
     margin-top: 200px;
     }
     .info, .info a{
     color:#A9A7A8;
     font-size:10px;
     }
     .item
     {
     }
     .footer-kits
     {
     margin-top: 50px;
     }
     .contract_forms
     {
     margin-top: 5%;
     margin-left:80%;
     }
/*    .topic-comment-amount
    {
    position: relative;
    background-color: white;
    width: 35px;
    height: 28px;
    display: flex;
    justify-content: center;
    border:1px solid grey;
    font-size: 10px;
    }*/
*{
            margin:0;
            padding:0;
            border:0;
        }
       .clear{
            *zoom:1;
        }
        .clear:after{
            visibility: none;
            content:"";
            display:block;
            clear:both;
            height:0;
        }
        #wrap{
            width: 100%;
            height:400px;
            margin:0 auto;
            position:relative;
            background: white;
            overflow: hidden;
        }
        #inner{
            width: 1000%;
            height:100%;
            position:absolute;
            left:0;
            top:0;
        }
        #inner img{
            width:10%;
            height:100%;
            float: left;
        }
        .paganation{
            width: 100%;
            position: absolute;
            bottom:10px;
            text-align:center;
        }
        .paganation span{
            padding:2px 6px;
            background: #F2F2F2;
            color:black;
            border-radius:50%;
            cursor: pointer
        }
        .paganation .selected{
            background: aliceblue;
            color:white;
        }
        .arrow{
            position:absolute;
            top:0;
            line-height: 400px;
            vertical-align: middle;
            text-align: center;
            color:lightgrey;
            cursor: pointer;
            font-size: 60px;
        }
        #right{
            right: 0;
        }
        .arrow:hover{
            background:grey;
        }

JavaScript代码:

  var wrap=document.getElementById("wrap");
        var inner=document.getElementById("inner");
        var spanList=document.getElementById("paganation").getElementsByTagName("span");
        var left=document.getElementById("left");
        var right=document.getElementById("right");

        var clickFlag=true;//设置左右切换标记位防止连续按
        var time//主要用来设置自动滑动的计时器
        var index=0;//记录每次滑动图片的下标
        var Distance=wrap.offsetWidth;//获取展示区的宽度,即每张图片的宽度
        //定义图片滑动的函数
        function AutoGo(){
            var start=inner.offsetLeft;//获取移动块当前的left的开始坐标
            var end=index*Distance*(-1);//获取移动块移动结束的坐标。
            //计算公式即当移动到第三张图片时,图片下标为2乘以图片的宽度就是块的left值。
            var change=end-start;//偏移量

            var timer;//用计时器为图片添加动画效果
            var t=0;
            var maxT=30;
            clear();//先把按钮状态清除,再让对应按钮改变状态
            if(index==spanList.length){
                spanList[0].className="selected";
            }else{
                spanList[index].className="selected";
            }
            clearInterval(timer);//开启计时器前先把之前的清
            timer=setInterval(function(){
                t++;
                if(t>=maxT){//当图片到达终点停止计时器
                    clearInterval(timer);
                    clickFlag=true;//当图片到达终点才能切换
                }
                inner.style.left=change/maxT*t+start+"px";//每个17毫秒让块移动
                if(index==spanList.length&&t>=maxT){
                    inner.style.left=0;
                    index=0;
                    //当图片到最后一张时把它瞬间切换回第一张,由于都同一张图片不会影响效果
                }
            },17);
        }
        //编写图片向右滑动的函数
        function forward(){
            index++;
            //当图片下标到最后一张把小标换0
            if(index>spanList.length){
                index=0;
            }
            AutoGo();
        }
        //编写图片向左滑动函数
        function backward(){
            index--;
            //当图片下标到第一张让它返回到倒数第二张,
            //left值要变到最后一张才不影响过渡效果
            if(index<0){
                index=spanList.length-1;
                inner.style.left=(index+1)*Distance*(-1)+"px";
            }
            AutoGo();
        }

        //开启图片自动向右滑动的计时器
        time=setInterval(forward,3000);

        //设置鼠标悬停动画停止
        wrap.οnmοuseοver=function(){
            clearInterval(time);
        }
        wrap.οnmοuseοut=function(){
        time=setInterval(forward,3000);
        }

        //遍历每个按钮让其切换到对应图片
        for(var i=0;i<spanList.length;i++){
            spanList[i].οnclick=function(){
                index=this.innerText-1;
                AutoGo();
            }
        }

        //左切换事件
        left.οnclick=function(){
            if(clickFlag){
                backward();
            }
            clickFlag=false;
        }
        //右切换事件
        right.οnclick=function(){
            if(clickFlag){
                forward();
            }
            clickFlag=false;
        }

        //清除页面所有按钮状态颜色
        function clear(){
            for(var i=0;i<spanList.length;i++){
                spanList[i].className="";
            }
        }

    </script>  

运行截图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值