2012-08-02 28 views
3

我们有一个页面,其中有一个<DIV style="overflow:auto; height:400px;> ... </DIV>部分填充了来自数据库的信息。有时它包含的文字多于可见的文字(因此overflow:auto),我们得到一个垂直滚动条。检查div是否实际上溢出和/或具有滚动条

我们想给<DIV>部分的底边框变为红色,如果文本溢出 - 并因此而不是当我们没有一个垂直滚动条(=红色底边框表示有更多的数据,因为人们并不总是看到滚动条的注意力)。

这是如何实现的?

设置“border-bottom:1px solid red;”将使底部边框始终处于红色状态,同时文本数量不会指定溢出/滚动条,因此单独不会剪切它。


编辑:你们快,谢谢!我会研究这些建议 - 再次感谢!

+0

我不知道这将是多么有用 - 滚动条的存在的多个内容的通用指标 - 如果用户不要他们没有注意* it *,他们有多大可能承认存在于单一应用程序的一页上的“约定”? – 2012-08-02 07:43:05

+0

我想方法是检查div内容宽度...例如:var x = $(div).html(); if(x.width()> $(div).width()){/ *执行动画边框* /} – 2012-08-02 07:45:05

+0

非常类似于这个问题:http://stackoverflow.com/questions/7138772/how-to-detect -overflow-in-div-element – 2012-08-02 07:47:05

回答

0

CSS

.attention{border-bottom:1px solid red;} 

JS

$.document(ready(function(){ 
    var div = ('div#YOUR_OVERFLOW_DIV'); 

    if ((div).height()>400){ 
    $(div).addClass('attention'); 
    } 


}); 
4
if (myDiv[0].scrollHeight > myDiv.innerHeight()){ 
    //this has overflowing contetent! 
} 
else{ 
    //remove border, etc. 
} 
相关问题