2012-09-15 32 views
1

div中的内容比它可以包含的要多。如何检测是否有任何溢出?

我想隐藏所有不可见的文本,或者如您所见水平“半切”。

此外,我需要隐藏最后一个可见句子或给定数量的字母,并在文本的可见部分末尾粘贴诸如“阅读更多”而不是它的内容。

第二部分我认为更容易。我不知道如何处理第一部分。

+0

您需要获取字体指标,测量文本的宽度,并检查它是否超过div的宽度。 – user1406062

+0

我不明白...你想隐藏已经不可见的东西吗?顺便说一下,我了解第二部分。 – Stphane

回答

1

您可以使用CSS。

浏览器支持:http://caniuse.com/#search=ellipsis

.ellipsis { 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    -o-text-overflow: ellipsis; 
} 

或者使用jQuery插件来做到这一点。

0

下面的代码可以帮助你:

function isOverFlow(id){ 
    var elem = document.getElementById(id) 
    if(elem.scrollWidth - jQuery(elem).width() > 0){ 
     return true; 
    } 
    return false; 
}