在视口中获取元素ID

时间:2017-02-10 07:34:36

标签: javascript jquery viewport getboundingclientrect

我在div标签中添加了iframe。 iframe内容有标记" sec"具有特定ID,例如,

<p>
<sec id='1'>some text</sec>
<sec id='2'>some other text</sec>
</p>

iframe内容使用列宽和列间距水平扩展。 Div可根据iframes宽度滚动。

我需要找到的是&#39; sec&#39;的第一个和最后一个id值。当前在视口中可见的标记。

我找到了关于getBoundingClientRect但不清楚如何使用它?

另外值得关注的是,它是否会增加处理负荷,因为我们需要运行循环来检查每个标记位置?

任何人都可以遮挡它吗?

1 个答案:

答案 0 :(得分:0)

以下是如何使用jQuery.isInView获取iframe中第一个和最后一个可见元素的ID:

var $iframe = $( yourIframeSelector ),
    _document = $iframe[0].contentDocument,

    $elements = $( yourElementSelector, _document ),
    $visible = $elements.inView( _document ),

    firstId = $visible.first().attr( "id" ),
    lastId = $visible.last().attr( "id" );