码迷,mamicode.com
首页 > 其他好文 > 详细

(screenX、pageX、clientX、offsetX)(offsetWidth、scrollWidth、clientWidth) (srcollTop、clientTop) 区别

时间:2021-01-21 10:38:46      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:test   body   scroll   获取元素   his   元素   code   red   col   

1、screenX、pageX、clientX、offsetX

screenX: 鼠标指针距离屏幕左侧的距离,不随滚动条变化而变化

pageX: 鼠标指针距离文档左侧的距离,不随滚动条变化而变化

clientX: 鼠标指针距离可视窗口左侧的距离, 随滚动条变化而变化, 如果拖动滚动条让元素离可视窗口左侧越近值越小

offsetX: 鼠标指针距离当前元素左侧的距离

附上测试代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <div id="testDiv" style="margin-left: 1200px;height: 1200px; width: 1200px;border: 1px solid red;">
    </div>
    <script src="../jquery-1.9.1.min.js"></script>
    <script>
        var $div = $(#testDiv);
        $div.on("mousemove",
            function (e) {
                var pageX = e.pageX;
                var pageY = e.pageY;
                var clientX = e.clientX;
                var clientY = e.clientY;
                var offsetX = e.offsetX;
                var offsetY = e.offsetY;

                var html = <p> pageX: +
                    pageX +
                    ,pageY: +
                    pageY +
                    ,clientX: +
                    clientX +
                    ,clientY: +
                    clientY +
                    ,offsetX: +
                    offsetX +
                    ,offsetY: +
                    offsetY +
                    </p>;
                $(this).html(html);
            }
        );
    </script>
</body>
</html>

 

2. offsetWidth、scrollWidth、clientWidth

offsetWidth: 获取元素宽度,包含padding、border 不包含margin

clientWidth: 获取元素宽度,包含pdding,不包含 border、margin,是元素可见宽度不包含溢出部分不可见的宽度

scrollWidth: 只读,获取元素宽度,包含pdding,不包含 border、margin, 也包含溢出不可见的部分的宽度

 

3.srcollTop、clientTop

scrollTop: 元素滚动后距离容器顶部的距离

clientTop: 获取border的宽度

ele.srcollHeight - ele.scrollTop === ele.clientHeight  来判断元素是否滚动到底

4. offsetLeft、style.left

offsetLeft: 元素自身不用定位(即默认定位),距离元素最近且非static的父元素的左偏移量,如果向上一直未找到就相对于body的左偏移量

style.left: 元素自身非static定位

 

(screenX、pageX、clientX、offsetX)(offsetWidth、scrollWidth、clientWidth) (srcollTop、clientTop) 区别

标签:test   body   scroll   获取元素   his   元素   code   red   col   

原文地址:https://www.cnblogs.com/fat-girl/p/14303720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!