• 基础


    闭包

    通俗的讲,函数去访问其他函数的局部变量

       function funSome(some) {
            return function() {
                console.log(some);
            };
        }
        oBox.onmouseover = funSome("liu");
    

      

     闭包选项卡

    <div id="weiyi" class="box">
        <div class="order">
            <span>达文西</span><span>末梢血</span><span>华泰强</span><span>史克力</span>
        </div>
        <div class="target">
            <ul>
                <li>达文西</li>
                <li>末梢血</li>
                <li>华泰强</li>
                <li>史克力</li>
            </ul>
        </div>
    </div>
    
    * {
        margin: 0;
        padding: 0;
    }
    ul {
        list-style-type: none;
    }
    
    .box {
         325px;
        border: 3px solid #C81623;
        margin: 100px auto;
    }
    .order {
        padding: 5px;
        padding-right: 0;
    }
    .order span {
        display: inline-block;
         75px;
        height: 30px;
        margin-right: 5px;
        text-align: center;
        font: 400 normal 18px/30px "Microsoft Sans Serif";
        cursor: pointer;
        background-color: #DBE1E7;
    }
    .order span.special {
        background-color: #C81623;
    }
    .target li {
         90%;
        height: 200px;
        padding: 5%;
        background-color: #d7d764;
        display: none;
    }
    .target li.show {
        display: block;
    }

     

    window.onload = function () {
        function clearClass(aDiv) {
            for(var i= 0,l=aDiv.length;i<l;i++) {
                aDiv[i].className = "";
            }
        }
        function tab(parentId) {
            var oParent = document.getElementById(parentId);
            var aSpan = oParent.getElementsByTagName("span");
            var aLi = oParent.getElementsByTagName("li");
    
            for(var i= 0,l=aSpan.length;i<l;i++) {
                var timer = null;
                aSpan[i].onmouseover = function (index) {
                    return function () {
                        clearTimeout(timer);
                        timer = setTimeout(function () {
                            clearClass(aSpan);
                            clearClass(aLi);
                            aSpan[index].className = "special";
                            aLi[index].className = "show";
                        },600);
                    }
    
                }(i);
            }
            if (aSpan.length) aSpan[0].onmouseover();
        }
        tab("weiyi");
    
    }

     

    延时

      function funDelay(fun,delay) {
            var timer = null;
            return function () {
                clearTimeout(timer);
                timer = setTimeout(fun,delay);
            }
        }
        window.onresize = funDelay(function () {
            var width = window.innerWidth || document.documentElement.clientWidth;
            console.log(width);
        },300);
    

      

      

  • 相关阅读:
    apt-get connects to web
    Particle Filter(CC) 放狗
    Get a specific pixel coordinates where your mouse on (cc)
    event
    两张图片的平移实验 (SLAM translate epipolar geometry)
    vs2010 LINK : fatal error LNK1123: 转换到 COFF 期间失败:(cc)
    fx and fy in Calibration
    How do I get add-apt-repository to work through a proxy?
    ROS and PCL install
    Longest palindrome subsequence
  • 原文地址:https://www.cnblogs.com/WeWeZhang/p/5786760.html
Copyright © 2020-2023  润新知