仅在内容溢出时展开DIV?

时间:2011-06-12 12:01:02

标签: jquery

我的理念:所以我有一个固定的高度DIV,它包含不同数量的内容。如果内容从框中溢出,则最初隐藏(通过CSS),但如果您将鼠标悬停在框上,则应扩展到显示内容所需的高度。

这是我到目前为止所做的事情: http://jsfiddle.net/CvhkM/649/

问题是你可以看到,jquery在这两个示例DIV上触发,它实际上只应触发底部div(内容超出了CSS定义的初始div高度)。

它也会长到一个规定的高度(300px),有没有办法检测它应该增长的确切高度?

更新:找到解决方案 - >我已经把它放在了JSFIDDLE上:http://jsfiddle.net/hQkFH/3/

3 个答案:

答案 0 :(得分:4)

您可以使用两个课程。一个是崩溃的状态:

div.collapsed {
    height: 50px;
    overflow: hidden;
}

另一个是扩展状态:

div.expanded {
    min-height: 50px;
}

如果将鼠标指针移到DIV上,请删除折叠类并添加展开的类。

诀窍是删除显式设置的高度并使用min-height:它将很好地扩展长文本,但对短文本没有影响。这样你就不需要区分有和没有溢出的情况。

答案 1 :(得分:0)

我将采取的方法是在Hover上添加或删除一个类。

例如,如果在类中设置div的维度限制,然后在Hover上删除该类,我认为这样可以更好。

答案 2 :(得分:0)

请查看此示例以及问题,看看您的脚本是否对编辑和扩展“div”非常有用。

Example 1

Example 2

Question

相关问题