猿问

jquery position没有获取到相对于父元素的偏移量 而是父元素相对于视口的偏移量

rt:jquery的position()方法获取的是父元素相对于视口的偏移量 这是为何 不是获取相对于父元素的偏移量么?

css代码:

.wrapper {            width:300px;            height:200px;            background: #5bc0de;            margin: 0 auto;            /*padding-top:1px;*/
            /*border:1px solid transparent;*/
            overflow: hidden;

        }        .wrapper .btn {            width:80px;            height: 35px;            line-height: 35px;            text-align: center;            border:1px solid #fff;            margin:0 auto;            background: #efefef;            color:#d9543f;            margin-top:40px;            cursor: pointer;
        }

html代码:

<div class="wrapper">
    <div class="btn">click</div>
</div>

js代码:

    $(".btn").click(function(e) {        var off = $(this).offset();        console.log(off);        var pos = $(this).position();        console.log(pos);        // console.log("left : "+pos.left);
        // console.log("top : "+pos.top);
    })

浏览器上的效果:

慕的地10843
浏览 1173回答 1
1回答

繁华开满天机

position()&nbsp;方法是相对于&nbsp;offsetParent&nbsp;而言,offsetParent&nbsp;指所有父级元素中距离最近的定位元素(relative&nbsp;or&nbsp;absolute)。.wrapper&nbsp;{&nbsp;position:&nbsp;relative;}Run test agin!
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答