0

有人能告诉我一种在 HTML 文档的浏览器窗口中找到第一段可见的方法吗?意味着我希望第一段不在文档内(可能大于窗口区域),而是在浏览器窗口(可见屏幕)内。

* PS 除了获取文档中的所有 'p' 元素并遍历以找到第一个可见的元素*

4

4 回答 4

0

有一个 jQuery 插件,你可以试试:www.appelsiini.net/projects/viewport

于 2013-02-22T13:56:43.713 回答
0

我认为这就是你想要的:

$("p:visible:first")
于 2013-02-22T13:42:31.137 回答
0

你可以想出某种机制来根据它们的偏移量标记你的 p 标签。因此,当页面加载时,您必须遍历您的 p 标签(或更好的部分)并根据它们的偏移位置标记它们。然后将用户的当前滚动位置与最接近的偏移量 p 进行比较将是一件简单的事情......

于 2013-02-25T03:28:27.303 回答
0

这应该有效:

$(document).ready(function(){
    var paragraphs = $('p');
    var scrollTop = $(window).scrollTop();
    var scrollBtm = scrollTop + $(window).height();
    paragraphs.each(function(e){
        var top = $(this).offset().top;
        if (top > scrollTop && top < scrollBtm){
            alert("Win");
            return false;
        }
    });
});

编辑:我意识到这是遍历 p 标签,但至少使用“return false”你不会循环遍历每个标签,只是当前视图上方的每个标签。

编辑 2:在 document.ready 上创建一个段落数组

于 2013-02-22T13:49:58.050 回答