jQuery:如何通过溢出获取不可见的内容:隐藏?

2023-12-08

我试图将内容跨越多个页面(div),每个 div 的高度设置为 950px,这样我就可以正确输出为 pdf。

我从一个 div 开始,它使用溢出:隐藏来嵌套所有内容。理想情况下,我想使用 jquery 查找超出查看范围(隐藏)的内容,但我看不到任何执行此操作的功能。 $...(':visible') 仅适用于显示:无或可见性:隐藏...

这些页面上的内容是基本的 html 标记(p、br、ol、ul、li、h1、h2)。我尝试了循环这些子元素并找到它们与顶部的偏移量的路线。这样做的问题是,当您尝试测量循环到页面顶部的元素的距离时,当后续页面具有可变内容高度时(每个页面中有一个标题块,它会变得非常混乱和复杂)高于内容)。

Ideas?


您需要将每个元素的位置与文档的高度进行比较(body):

if ($("#elementOne").position().top > $("body").height()){
    // This element is hidden
}

此示例扫描每个元素并构建一个(完全)隐藏的元素数组:

var h = $("body").height();
var hiddenEls = new Array();

$("#container").find("*").each(function(){
    if ($(this).position().top > h)
        hiddenEls.push($(this));
});

Please note that this is untested.

试试这个例子:

http://jsfiddle.net/wMPjJ/

蓝色容器设置为400px高度,隐藏溢出。在里面div, 有 22 个p元素,编号为 1 - 22。有些元素将被隐藏(它们不适合)。页面上的代码会告诉您隐藏了多少元素(对我来说,我得到5; p标签 17 到 22 不显示)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery:如何通过溢出获取不可见的内容:隐藏? 的相关文章

随机推荐