zoukankan      html  css  js  c++  java
  • 1:元素偏移量 offset

    1)得到元素位置

    offsetTop  // 返回带有定位父元素 上方的偏移
    offsetLeft // 返回带有定位父元素 左方的偏移
    
    如果父元素没有定位 以body为基准

    2)得到元素大小

    offsetWidth  // 返回自身 宽度
    offsetHeight // 返回自身 高度

    返回值不带单位

    包含:边框 + 内边距 + 内容区域

    3)返回父类

    element.offsetParent; //返回带有定位的父亲 否则返回body
    
    element.parentNode;   //返回最近一级的父亲 不管父亲有没有定位

    //都和带有定位父亲相关

    二 offset 和 style 的区别

    // offset 只能获取值   style可以获取和赋值

    三 小案例:获取鼠标在盒子内的坐标

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>index</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            #box {
                position: relative;
                 300px;
                height: 300px;
                background: #B3181C;
                margin: 100px;
            }
        </style>
    </head>
    <body>
    
    <div id="box">
    
    </div>
    <script>
        //需求:求出鼠标在box中的坐标
        //核心思路:鼠标距离body的距离 - 盒子距离body的距离
        //offsetTop offsetLeft 得到盒子距离body的距离
        //e.pageX e.pageY 得到当前点击事件距离文档上方 和 左方的值
        //onmousemove 鼠标移动事件
        var box = document.querySelector('#box');
        box.onmousemove = function(e){
            var x = e.pageX - this.offsetLeft;
            var y = e.pageY - this.offsetTop;
            box.innerHTML = 'x坐标是' + x + 'y坐标是' + y;
        };
    </script>
    </body>
    </html>
  • 相关阅读:
    待办
    安卓微信浏览器修改的代码总是不生效
    微信浏览器内核2
    微信浏览器内核
    随记
    三次握手最后一个ack没有收到怎么办?
    判断偶数:
    利用kubeadm工具安装Kubernetes1.15版本
    kubernetes安装Helm
    最大子列和(附加子列初始元素和末尾元素)
  • 原文地址:https://www.cnblogs.com/fuyunlin/p/14457016.html
Copyright © 2011-2022 走看看