2013-03-01 64 views
0

我有div,文本内容很大。并通过使用overflow:hidden仅在框中显示内容。如何获得非溢出内容的长度div

现在我怎样才能得到这个盒子里面的visbile内容的长度(即没有字符),即非Oveflown的内容。

+0

当你说可见内容的长度..你是指你提供的文本内容中的字符数量?或者这个文本占用的宽度和高度? – abbood 2013-03-01 08:07:29

+0

@abbood我想要没有chars..only .. – 2013-03-01 08:50:03

+1

为什么这个问题投下来了?这是一个非常有效的问题,并且具有实际用途(例如,当您想要确定将省略号放置在文章末尾的哪个位置时,可以通过“读取更多”扩展按钮来扩展它。例如,我已经使用了它目的是为了一些客户我必须回答这个确切的问题)。 Rishi我已经投票支持你。对于沮丧的一方,如果你与我们分享为什么你认为这个问题值得投票支持,那么这对我们所有人都有帮助。 – abbood 2013-03-01 08:57:06

回答

0

有没有检测到这种傻瓜的方式。可见文本的数量取决于各种因素,如使用的字体,行高度,字母间距等。如果字体在整个文本中是均匀的并且是单倍行距,则可以使用字符宽度应用一些数学和高度来获得这个,但它不可能在浏览器中完美。

+0

为什么这是一个跨浏览器的问题,如果你使用像jQuery这样的跨浏览器工具来确定字符的宽度等?宽度和高度的结果可能因浏览器而异..但是,处理这些值的方法也应该同样解释浏览器的差异。例如,跨浏览器问题将会是使用jQuery等自身取消的问题。 – abbood 2013-03-01 08:54:28

0

如果您在div上设置了高度,您已经有该号码。但如果你不这样做,你应该使用JS函数获得div的高度。无论隐藏多少内容,div的高度都可以看到。

像所有其他JS作品一样,如果你想让它在所有浏览器上都能很容易地运行,你应该使用一个框架。在Prototype,例如,你可以调用这个:

$("DIV_ID").getHeight(); 

用的div id属性替换DIV_ID