Client 家族

作者: 追逐_chase | 来源:发表于2018-04-25 14:31 被阅读0次
    timg.jpg
    clientWidth
    • 可见内容区域的宽度(不包括边框)
    • clientWidth: width + padding 不包含border
    • 区别offsetWidth和scrollWidth
    • offsetWidth: width + padding + border
    • scrollWidth: 大小是内容的大小 ,比如div里面有文字,就是文字占的宽度或者高度
    可视区域的检测
    • ie9及其以上的版本 使用:window.innerWidth
    • 标准模式:document.documentElement.clientWidth
    • 怪异模式:document.body.clientWidth

    //封装

    <script type="text/javascript">
        function client() {
            if (window.innerWidth != null){
    
                return {
                    width:window.innerWidth,
                    height:window.innerHeight
                }
            } else  if (window.compatMode == "CSS1Compat"){
    
                return {
                    width:document.documentElement.clientWidth,
                    height:document.documentElement.clientHeight
                }
            }
            return {
                width:document.body.clientWidth,
                height:document.body.clientHeight
            }
        }
    </script>
    
    window.onresize 改变窗口事件
    • 窗口或框架被调整大小时调用
      -scroll家族中的 window.onscroll是滚动时调用
    <script type="text/javascript">
        //函数 值调用一次
        reSize();
    
        window.onresize =  reSize; // 不带括号,只要屏幕出发,就调用,是一个 函数体
    
    
            function reSize() {
    
                var clientWidth = client().width;
    
                if (clientWidth > 960){
    
                    document.body.style.backgroundColor = "red";
                } else if(clientWidth > 640){
                    document.body.style.backgroundColor = "green";
                }else{
                    document.body.style.backgroundColor = "pink";
                }
    
    
        }
    
    
        function client() {
            if (window.innerWidth != null){
    
                return {
                    width:window.innerWidth,
                    height:window.innerHeight
                }
            } else  if (window.compatMode == "CSS1Compat"){
    
                return {
                    width:document.documentElement.clientWidth,
                    height:document.documentElement.clientHeight
                }
            }
    
    
            return {
                width:document.body.clientWidth,
                height:document.body.clientHeight
            }
        }
    
    </script>
    
    • window.screen.width 返回的是我们电脑的 分辨率

    • 判断是否是当前对象

      • event.target.id 火狐或者谷歌
      • event.srcElement.id ie 678
    • 当鼠标点击时 触发的对象就可以用上述的方法获取

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>06-点击空白处隐藏</title>
    
        <style type="text/css">
            *{
                margin: 0;
                padding: 0;
            }
    
            body {
                height: 2000px;
            }
    
            #box {
                width: 100%;
                height: 100%;
                opacity: 0.4;
                filter: alpha(opacity = 40);  /* ie 6 半透明*/
                background-color: black;
                position: fixed;
                top: 0;
                left: 0;
                display: none;
    
            }
            #logo {
                width: 300px;
                height: 300px;
                background-color: #ffffff;
                position: fixed;
                left: 50%;
                top: 50%;
                margin-left: -150px;
                margin-top: -150px;
                display: none;
            }
    
    
        </style>
    </head>
    <body>
    
        <a href="javascript:;" id="login">注册</a>
        <a href="javascript:;">登录</a>
    
        <div id="box" ></div>
        <div id="logo"></div>
    
    </body>
    </html>
    
    <script type="text/javascript">
    
        function $(id) {
    
            return document.getElementById(id);
        }
    
    
        var  box = $("box");
        var login = $("login");
        var logo = $("logo");
    
        login.onclick = function (event) {
            //点击隐藏滚动条
            document.body.style.overflow = "hidden";
            box.style.display = "block";
            logo.style.display = "block";
            var event = event || window.event;
    
            if (event && event.stopPropagation){
                event.stopPropagation();
            } else  {
                event.cancelBubble = true;
            }
    
        }
    
        document.onclick = function (event) {
            var event = event || window.event;
        var targetId = event.target ? event.target.id : event.srcElement.id;
        if (targetId != "logo"){
            box.style.display = "none";
            logo.style.display = "none";
        }
    
        }
    
    
    
    </script>
    
    110.gif

    相关文章

      网友评论

        本文标题:Client 家族

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