javascript - 如何只显示 div 的第一行文本并在点击时展开?

标签 javascript jquery css

我只想显示一个换行文本 block 的第一行,然后在单击时显示整个 block 。另外,我想知道如何在第二次点击时将其切换回紧凑的单行版本。

有没有一种简单的方法可以通过 css + javascript 来做到这一点?我使用 jQuery。

最佳答案

假设您不想使用任何 JavaScript 库(奇怪)。

参见: http://jsfiddle.net/JUtcX/

HTML:

<div id="content"></div>

CSS:

#content {
    border: 1px solid red;
    height: 1em;
    padding: 2px; /* adjust to taste */
    overflow: hidden    
}

JavaScript:

document.getElementById("content").onclick = function() {
    this.style.height = 'auto';
}

或者,如果您想使用 JavaScript 框架,例如 jQuery ,您可以为其设置动画。

参见: http://jsfiddle.net/JUtcX/2/

$('#content').click(function() {
    var reducedHeight = $(this).height();
    $(this).css('height', 'auto');
    var fullHeight = $(this).height();
    $(this).height(reducedHeight);

    $(this).animate({height: fullHeight}, 500);
});

关于javascript - 如何只显示 div 的第一行文本并在点击时展开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6972728/

相关文章:

javascript - 未捕获的类型错误 : Object #<Object> has no method 'exec' at file:///android_asset/www/index. html

javascript - 加载 AJAX 调用的 div 在 IE 或 Chrome 中不显示,在 Firefox 中工作正常

HTML 表单字段值对齐

javascript - Spidermonkey:如何删除全局对象

javascript - 如何从 .Net 代码隐藏中获取数据到 mixpanel (JavaScript)

jquery - 我如何使用 jquery 更改行的颜色?根据条件

javascript - 在使用 jQuery 发送表单数据之前对其进行操作

javascript - 侧面导航栏在切换时更改页面内容的对齐方式

html - PrimeFaces selectOneMenu 无法内嵌到纯文本中(导致换行)

javascript - Css 没有被应用到背景图片