1

为什么我的代码不返回顶部和左侧的值?而是返回 null。是否需要为 offset() 设置一些值;去工作?

var divOrg = $( "#portfolioButton" );
var pos = divOrg.offset();
console.log( "left : " + pos.left + ", top : " + pos.top );
4

2 回答 2

1

只要div不隐藏,您的代码应该可以正常工作。见小提琴

<div id="portfolioButton">text</div>

您无需设置任何值offset()即可工作。它从元素相对于文档的位置获取其值。

.offset() 方法允许我们检索元素相对于文档的当前位置。

于 2013-01-06T04:26:52.383 回答
0

在你的页面头部试试这个:

<script type="text/javascript">
$(document).ready(function() {

     var divOrg = $( "#portfolioButton" );

        var offset = divOrg.offset();
        divOrg.html ("left : " + offset.left + ", top : " + offset.top );

 console.log(divOrg)
});
    </script>

在体内:<div id="portfolioButton">Test1.</div>

参考:http ://api.jquery.com/offset/

于 2013-01-07T08:17:57.903 回答