美文网首页JavaScriptWeb前端之路让前端飞
Javascript 中的client , page , scr

Javascript 中的client , page , scr

作者: sky丶星如雨 | 来源:发表于2017-10-09 13:42 被阅读42次

    screenXY:screenX和screenY的参照点是用户屏幕左上角,screenX是鼠标位置相对于用户屏幕(左侧)水平偏移量,而screenY则是鼠标相对于屏幕(顶部)垂直方向的偏移量。
    解释:就是根据距离显示器的位置来定位,与浏览器无关。

    clientXY:clientX和clientY的参照点是浏览器内容区域的左上角,clientX是相对于用户浏览器(左侧)的水平偏移量,而clientY则是相对于浏览器内容区(顶部)垂直放心的偏移量。
    解释:根据浏览器的窗口来定位,与page容易混淆,稍后对比解释。

    pageXY:pageX和pageY的参照点是这个页面的左上角,和浏览器宽高、滚动条等无关,pageX是相对于整个页面(左侧)水平偏移量,而pageY则是相对于整个页面(顶部)垂直放心的偏移量。
    解释:同样是根据浏览器窗口来定位。

    client 与 page 对比:
    client 位置就是根据当前浏览器窗口来定位,无论是否有横向或纵向的滚动条。
    page 位置是根据整个浏览器页面来定位。
    举例说明:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
        <style>
            body {
                height: 2000px;
            }
        </style>
    </head>
    <body>
    <script>
    
        document.onclick = function (e) {
            var e = e || window.event;
            console.log("X" + e.clientX);
            console.log("Y" + e.clientY);
            console.log("X" + e.pageX);
            console.log("Y" + e.pageY);
        }
    
    </script>
    </body>
    </html>
    
    没有滚动条时 页面高度滚动时

    通过对比,我们可以很清楚的看到,当页面滚动时,client还是根据当前浏览器窗口定位,但page, 是根据距页面顶端来定位。

    相关文章

      网友评论

        本文标题:Javascript 中的client , page , scr

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