zoukankan      html  css  js  c++  java
  • JS+css3焦点轮播图PC端

      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>js原生web轮播图</title>
      6     <style>
      7         *{
      8             margin:0;
      9             padding:0;
     10             list-style: none;
     11             -moz-user-select: none;/*文字不可选择*/
     12             -khtml-user-select: none;/*文字不可选择*/
     13             user-select: none;/*文字不可选择*/
     14         }
     15         #container{
     16             width: 600px;
     17             height: 400px;
     18             position: relative;
     19             overflow: hidden;
     20         }
     21         #slider{
     22             margin-left:-600px;
     23             width: 4200px;
     24             height: 400px;
     25         }
     26         #slider li{
     27             width: 600px;
     28             height: 400px;
     29             float: left;
     30         }
     31         img{
     32             width: 600px;
     33             height: 400px;
     34         }
     35         #prev{
     36             position: absolute;
     37             top:40%;
     38             left:0px;
     39             width: 50px;
     40             height: 50px;
     41             background-color: #eee;
     42             z-index: 999;
     43             line-height:50px;
     44             text-align: center;
     45         }
     46         #prev:hover{
     47             cursor: pointer;
     48         }
     49         #next{
     50             position: absolute;
     51             top:40%;
     52             right:0px;
     53             width: 50px;
     54             height: 50px;
     55             background-color: #eee;
     56             z-index: 999;
     57             line-height:50px;
     58             text-align: center;
     59         }
     60         #next:hover{
     61             cursor: pointer;
     62         }
     63         #dotul{
     64             position: absolute;
     65             bottom:100px;
     66             left:38%;
     67             width: 150px;
     68             height: 20px;
     69         }
     70         .dot{
     71             background-color: green;
     72         }
     73         #dotul li{
     74             margin-left:10px;
     75             width: 20px;
     76             height: 20px;
     77             float: left;
     78             border-radius: 10px;
     79             z-index: 999;
     80         }
     81         li{
     82             background-color: red;
     83         }
     84     </style>
     85 </head>
     86 <body>
     87     <div id="container">
     88         <ul id="slider">
     89             <li><img src="5.jpg" alt=""></li>
     90             <li><img src="1.jpg" alt=""></li>
     91             <li><img src="2.jpg" alt=""></li>
     92             <li><img src="3.jpg" alt=""></li>
     93             <li><img src="4.jpg" alt=""></li>
     94             <li><img src="5.jpg" alt=""></li>
     95             <li><img src="1.jpg" alt=""></li>
     96         </ul>
     97         <ul id="buttons">
     98             <li id="prev">上一张</li>
     99             <li id="next">下一张</li>
    100         </ul>
    101         <div id="dots">
    102             <ul id="dotul">
    103                 <li index="1" class="dot"></li>
    104                 <li index="2"></li>
    105                 <li index="3"></li>
    106                 <li index="4"></li>
    107                 <li index="5"></li>
    108             </ul>
    109     </div>
    110     </div>
    111     
    112     <script>
    113         var container = document.getElementById('container');
    114         var slider = document.getElementById('slider');
    115         var prev=document.getElementById('prev');
    116         var next=document.getElementById('next');
    117         var dots=document.getElementById('dotul').getElementsByTagName('li');
    118         var index=1;
    119         var timer;
    120         function dotsInit(){
    121             for (var i = 0; i < dots.length; i++) {
    122                 console.log(dots[i]);
    123                 dots[i].onclick=function(){
    124                     var $index=parseInt(this.getAttribute("index"));
    125                     slider.style.marginLeft=($index)*(-600)+"px";
    126                     index=$index;
    127                 }
    128             }
    129         }
    130         dotsInit();
    131         function animate(option){
    132             var sliderLeft=slider.offsetLeft;
    133             slider.style.marginLeft=parseInt(sliderLeft)+option+'px';
    134         }
    135         function dotsTurn(){
    136             for(var i=0;i<dots.length;i++){
    137                 if(dots[i].getAttribute('index')==index){
    138                     dots[i].className='dot'
    139                 }else{
    140                     dots[i].className=''
    141                 }
    142             }
    143         }
    144         prev.onclick=function(){
    145             if(slider.offsetLeft % 600 !=0){
    146                 return;
    147             }
    148             slider.style.transition="0.5s";
    149             animate(600);
    150             (index==1)?(index=5):index--;
    151         }
    152         next.onclick=function(){
    153             if(slider.offsetLeft % 600 !=0){
    154                 return;
    155             }
    156             slider.style.transition="0.5s";
    157             animate(-600);
    158             (index==5)?(index=1):index++;
    159         }
    160         slider.addEventListener("transitionend",function(){
    161             if(slider.offsetLeft==-3600){
    162                 slider.style.transition="0s";
    163                 slider.style.marginLeft="-600px";
    164             }
    165             if(slider.offsetLeft==0){
    166                 slider.style.transition="0s";
    167                 slider.style.marginLeft="-3000px";
    168             }
    169             dotsTurn();
    170         });
    171         function init(){
    172             slider.style.transition="0.5s";
    173             timer=setInterval(next.onclick,5000);
    174         }
    175         init();
    176         slider.addEventListener('mouseenter',function(){
    177             clearInterval(timer);
    178         })
    179         slider.addEventListener('mouseout',init)
    180     </script>
    181 </body>
    182 </html>
  • 相关阅读:
    BZOJ 1103 Poi2007 大都市meg
    BZOJ 2815 ZJOI2012 灾难
    【bzoj】1046: [HAOI2007]上升序列
    P1168跳房子(焫鷄如我)
    HAIO2017[打酱油的旅行!?]
    [haoi2013]花卉节
    P1298(矩阵切割)DP
    P1216 (list加强版)
    p1219最佳贸易(两边bfs写的)
    p1150[noip2013普及]表达式求值
  • 原文地址:https://www.cnblogs.com/shuaihan/p/7296640.html
Copyright © 2011-2022 走看看