📜  jQuery | offset() 与示例(1)

📅  最后修改于: 2023-12-03 14:43:15.572000             🧑  作者: Mango

jQuery | offset() 与示例

介绍

jQuery 的 offset() 方法用于获取或设置匹配元素相对于文档的偏移值。可以获取相对于文档最左上角的距离,单位为像素。

语法
$(selector).offset()
$(selector).offset({top: value, left: value})
返回值

该方法返回一个对象,包括两个属性: top 和 left。分别代表该元素相对于文档左侧的距离和顶端的距离。

示例

假设有如下 HTML 结构:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>jQuery offset() 方法示例</title>
    <style>
        #box {
            width: 100px;
            height: 100px;
            background-color: #f00;
            position: absolute;
            left: 100px;
            top: 100px;
        }
    </style>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.slim.min.js"></script>
    <script>
        $(document).ready(function(){
            let offset = $("#box").offset();
            console.log("top:" + offset.top + "px; left:" + offset.left + "px");

            $("#change-offset").click(function(){
                $("#box").offset({top: 200, left: 200});
                console.log("设置偏移:top:200px, left:200px");
                let offset = $("#box").offset();
                console.log("top:" + offset.top + "px; left:" + offset.left + "px");
            });

        });
    </script>
</head>
<body>
    <div id="box">这是一个用于测试 offset() 方法的 div</div>
    <button id="change-offset">改变元素的偏移量</button>
</body>
</html>

运行后会看到一个红色的正方形框在页面中心,下面有一个按钮。

点击按钮后,会改变正方形框的位置到页面左上角。

输出结果:

top: 100px; left: 100px;
设置偏移:top:200px, left:200px
top: 200px; left: 200px
总结

offset() 方法可用于获取或设置匹配元素的偏移量,根据具体需求选择使用。