美文网首页
17js轮播 左右焦点图

17js轮播 左右焦点图

作者: An的杂货铺 | 来源:发表于2019-03-13 14:57 被阅读0次
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>无标题文档</title>
            <style type="text/css">
                body,
                ul,
                ol,
                li,
                img {
                    margin: 0;
                    padding: 0;
                    list-style: none;
                }
                
                #box {
                    width: 490px;
                    height: 170px;
                    padding: 5px;
                    position: relative;
                    border: 1px solid #ccc;
                    margin: 100px auto 0;
                    overflow: hidden;
                }
                
                .ad {
                    width: 490px;
                    height: 170px;
                    overflow: hidden;
                    position: relative;
                }
                
                #box img {
                    width: 490px;
                }
                
                .ad ul li {
                    float: left;
                }
                
                .ad ul {
                    position: absolute;
                    top: 0;
                    width: 2450px;
                }
                
                .ad ul li.current {
                    display: block;
                }
                
                #arr {
                    display: block;
                }
                
                #arr span {
                    width: 40px;
                    height: 40px;
                    position: absolute;
                    left: 5px;
                    top: 50%;
                    margin-top: -20px;
                    background: #000;
                    cursor: pointer;
                    line-height: 40px;
                    text-align: center;
                    font-weight: bold;
                    font-family: '黑体';
                    font-size: 30px;
                    color: #fff;
                    opacity: 0.3;
                    border: 1px solid #fff;
                }
                
                #arr #right {
                    right: 5px;
                    left: auto;
                }
            </style>
        </head>
    
        <body>
            <div id="box" class="all">
                <div class="ad">
                    <ul id="imgs">
                        <li><img src="images/1.jpg" /></li>
                        <li><img src="images/2.jpg" /></li>
                        <li><img src="images/3.jpg" /></li>
                        <li><img src="images/4.jpg" /></li>
                        <li><img src="images/5.jpg" /></li>
                    </ul>
                </div>
                <div id="arr"><span id="left"><</span><span id="right">></span></div>
            </div>
        </body>
    
    </html>
    <script src="sport.js"></script>
    <script type="text/javascript">
        function $(id) {
             return document.getElementById(id);
        }
        var oLeft = $("left");
        var oRight = $("right");
        var oUl = $("imgs");
        var target = 0;
        oRight.onclick = function() {
            if (target === -490*4) {
                target === -490*4;
            } else {
                target -= 490;
            }
            // 执行运动函数
            startMove(oUl,target,"left");       
        }
    
        oLeft.onclick = function() {
            if (target === 0) {
                target === 0;
            } else {
                target += 490;
            }
            // 执行运动函数
            startMove(oUl,target,"left");       
        }
     
    </script>
    

    sport.js

    function startMove(obj,target,attr){
                clearInterval(obj.timer);
                obj.timer = setInterval(function(){
                   var current = parseFloat(getStyle(obj,attr));
                   var speed = 0;
                   if(attr === 'opacity'){
                      speed = target-current>0?0.1:-0.1;
                   }else{
                      speed = (target - current)/10; //    
                      speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed);
                   }
                   
                   if(target == current){
                       clearInterval(obj.timer);
                   }else{
                    if(attr === 'opacity'){
                      obj.style[attr] = current+speed;
                    }else{
                      obj.style[attr] = current+speed+'px';
                    }
                   }
                },20)
               }
    //获取元素的属性
    function getStyle(obj,attr){
      if(window.getComputedStyle){
          return window.getComputedStyle(obj,null)[attr];
      }else{
          return obj.currentStyle[attr];
      }
    }
    //针对两种情况来进行一下整合
    

    如图


    nine.gif

    相关文章

      网友评论

          本文标题:17js轮播 左右焦点图

          本文链接:https://www.haomeiwen.com/subject/mhttmqtx.html