zoukankan      html  css  js  c++  java
  • js原生的轮播图

    <!DOCTYPE html>
      <html>
      <head>
      <meta charset="UTF-8">
      <title></title>
      <style>
      *{
      margin: 0;
      padding: 0;
      text-decoration: none;
      }
      #container{
      600px;
      height: 400px;
      border: 3px solid gold;
      position: relative;
      margin: 300px auto;
      overflow: hidden;
      z-index: 2;
      /*transition: all 0.5s ease;*/
      }
      #list{
      3600px;
      height: 400px;
      position: absolute;
      z-index: 1;
      left: -600px;
      }
      #list img{
      600px;
      height: 400px;
      float: left;
      }
      span{
      position: absolute;
      display: block;
      10px;
      height: 10px;
      border-radius: 50%;
      z-index: 2;
      background: gainsboro;
      bottom: 10px;
      }
      p{
      z-index: 2;
      50px;
      line-height: 50px;
      background: rgba(0,0,0,0.3);
      color: white;
      position: absolute;
      font-size: 40px;
      text-align: center;
      }
      .p1{
      top: 175px;
      left: 0;
      }
      .p2{
      top: 175px;
      right: 0px;
      }
      #container:hover .p1,#container:hover .p2{
      background: rgba(0,0,0,0.7);
      }
       
      </style>
      </head>
      <body>
      <div id="container">
      <div id="list">
      <img src="img/4.jpg" alt="" />
      <img src="img/1.jpg" alt="" />
      <img src="img/2.jpg" alt="" />
      <img src="img/3.jpg" alt="" />
      <img src="img/4.jpg" alt="" />
      <img src="img/1.jpg" alt="" />
      </div>
      <p class="p1" onclick="lfClick(10)">&lt;</p>
      <p class="p2" onclick="lfClick(-10)">&gt;</p>
      <span onclick="oClick(-600,0)"></span>
      <span onclick="oClick(-1200,1)"></span>
      <span onclick="oClick(-1800,2)"></span>
      <span onclick="oClick(-2400,3)"></span>
      </div>
      </body>
      <script type="text/javascript">
      var list = document.getElementById('list');
      var ps = document.querySelectorAll('p');
      var timer = null ;
      var spans = document.querySelectorAll('span');
      var timeOut = null;
      for(var i = 0 ;i<spans.length; i++){
      spans[i].style.left = 250 + i*20 + 'px';
      }
       
      timer=setInterval(doMove,20);
      function doMove(){
      var speed = parseInt(getStyle()) - 10;
      list.style.left = speed +'px';
       
      if(speed %600 ==0){
      clearInterval(timer);
      timeOut = setTimeout(function(){
      timer=setInterval(doMove,20);
      },1000);
      }
      btnColor(speed);
       
      }
       
       
      //前后事件
      var setInter =null;
      // ps[0].onclick = lfClick(10);
      function lfClick(dir) {
      clearInterval(timer);
      clearInterval(setInter);
       
      if(parseInt(getStyle()) < -600 && parseInt(getStyle())>-1200){
      list.style.left = -600 +'px';
       
      }
       
      if(parseInt(getStyle()) < -1200 && parseInt(getStyle())>-1800){
      list.style.left = -1200 +'px';
      }
      if(parseInt(getStyle()) < -1800 && parseInt(getStyle())>-2400){
      list.style.left = -1800 +'px';
      }
      if(parseInt(getStyle()) < -2400 && parseInt(getStyle())>-3000){
      list.style.left = -2400 +'px';
      }
       
      setInter = setInterval(function(){
      clearInterval(timer);
      clearTimeout(timeOut);
      var speed = parseInt(getStyle()) + dir ;
      list.style.left = speed + 'px';
      btnColor(speed);
      if(speed %600 == 0){
      clearInterval(setInter);
      timeOut = setTimeout(function(){
      timer=setInterval(doMove,20);
      },1000);
      if(speed == 0){
      list.style.left = '-2400px';
      }
      if(speed == -3000){
      list.style.left = '-600px';
      }
      }
       
       
       
      },10)
       
      }
       
      function getStyle(){
      return list.currentStyle? list.currentStyle.left:getComputedStyle(list).left;
      }
       
      function oClick(dir,index){
      clearInterval(timer);
      clearTimeout(timeOut)
      list.style.left = dir + 'px';
      for(var i = 0 ;i<spans.length; i++){
      spans[i].style.background='gainsboro';
      }
      spans[index].style.background = 'red';
      timeOut = setTimeout(function(){
      timer=setInterval(doMove,20);
      },1000);
      }
       
      function btnColor(speed){
      if(speed == -600 ){
      spans[0].style.background = 'red';
      spans[3].style.background = 'gainsboro';
      spans[1].style.background = 'gainsboro';
       
      }
      if(speed == -1200 ){
      spans[1].style.background = 'red';
      spans[0].style.background = 'gainsboro';
      spans[2].style.background = 'gainsboro';
      }
      if(speed == -1800){
      spans[2].style.background = 'red';
      spans[1].style.background = 'gainsboro';
      spans[3].style.background = 'gainsboro';
      }
      if(speed == -2400 ||speed ==0){
      spans[3].style.background = 'red';
      spans[2].style.background = 'gainsboro';
      spans[0].style.background = 'gainsboro';
      }
       
      if(speed == -3000){
      list.style.left = -600 +'px';
      spans[0].style.background = 'red';
      spans[3].style.background = 'gainsboro';
      }
      }
       
      </script>
      </html>
  • 相关阅读:
    Ubuntu下面MySQL的参数文件my.cnf浅析
    Ubuntu下创建XFS文件系统的LVM
    Linux LVM学习总结——Insufficient Free Extents for a Logical Volume
    SQL Server中通用数据库角色权限处理
    Key Lookup开销过大导致聚集索引扫描
    SQL Server OPTION (OPTIMIZE FOR UNKNOWN) 测试总结
    ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes
    一次存储过程参数嗅探定位流程总结
    ORACLE如何检查找出损坏索引(Corrupt Indexes)
    MySQL索引扩展(Index Extensions)学习总结
  • 原文地址:https://www.cnblogs.com/gaosen/p/6627726.html
Copyright © 2011-2022 走看看