1

我有一个棘手的问题,我正在拼命寻找可行的解决方案。

Aarticle#post和 aaside#sidebar并排浮动 - 相当简单。在 my 里面article#post是 ah1和 a div.post-entry

我想知道我是否可以以某种方式确定div.post-entry外部容器的相对偏移量section#content。我想这样做的原因是我可以将浮动侧边栏margin-top放置在与“div.post-entry”相同的高度上。

这是我当前的 html 结构的模型:

<section id="content">

    <article id="post">
        <h1>Title of the post</h1>
        <div class="post-entry">
            <p>Something</p>
        </div>
    </article>

    <aside id="sidebar>
        Something
    </aside>

</section>

所以再次,我想找到任何解决方案来获得距离顶部多远的像素值div.post-entry位于内部section#content

我的主要问题是我什至post-entry.offsetTop无法工作。这应该得到div.post-entry相对于的偏移量,article.post因为这是它的父级。这实际上也应该对我有用。

var articleOffset = $('.post-entry').offsetTop;
console.log($('.post-entry')); //found and exists
console.log(articleOffset); undefined

任何想法为什么这对我也不起作用?为什么我在offsetTop这里的值未定义。有一个大<h1>的,填充至少为“30px”,可以抵消div.post-entry.

关于这件事有什么想法吗?也许还有其他关于如何做到这一点的酷解决方案?我只想让aside#sidebar起点在相同的高度,div.post-entry但我不想更改标记。

4

1 回答 1

0

您需要从 jQuery 对象中选择 DOM 元素。

var articleOffset = $('.post-content')[0].offsetTop;
于 2012-07-24T19:25:48.303 回答