javascript - 超过一定长度的段落弹出

标签 javascript jquery html css

我在一个网站上工作,该网站具有动态生成的博客文章,可以有任意长度。我想将每个博客文章条目的高度限制在一定高度,比方说 250px。如果博客文章的内容超过该高度,我想将其剪掉并显示一个“阅读更多”链接,该链接将打开一个模态叠加层,其中显示整个帖子。

我使用标准的 html/css/js 进行所有前端 View 开发。

我的问题是是否有现成可用的工具。我发现并使用了 http://jedfoster.com/Readmore.js/在过去,但它不会打开弹出模式覆盖。有没有类似 readmore.js 打开覆盖的东西?

最佳答案

我这样做的方法是根据客户端高度测试您的 scrollHeight。这是一个示例:

这将提示"is":

<div id="overflow-test" style="height:250px;width:100px;overflow-y:hidden;">
   Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>

<script>
alert($('#overflow-test')[0].scrollHeight > $('#overflow-test').height() ? "YES" : "NO");
</script>

这将警告“NO”:

<div id="overflow-test" style="height:250px;width:100px;overflow-y:hidden;">
   Lorem ipsum dolor sit amet.
</div>

<script>
alert($('#overflow-test')[0].scrollHeight > $('#overflow-test').height() ? "YES" : "NO");
</script>

基本上,我会用 $.each() 来测试它们,如果它们超出了 div 的高度,则让阅读更多按钮可见并启用,如果按钮已启用,则添加代码以使用模态框,并且它测试超出 div 的可见部分。

关于javascript - 超过一定长度的段落弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23417862/

相关文章:

jquery - 使用 fadeToggle 单击外部来关闭 div

css - Div 未正确 float

javascript - 使随机图像出现在 Bootstrap 主题中的代码编辑器

javascript - 将我的 HTML 和 CSS 组合在一起?

javascript - 将下拉列表中选定的选项分配给 jquery 中的变量

javascript - 后退按钮过滤器不起作用

javascript - 如何使用 javascript 从 cookie 创建和读取值?

jquery - 在 e.keycode == 9(制表符)上,添加 12 个空格,并防止默认行为

jquery - 动态获取 jquery 字段以进行 jtable 分页

php - 使用 php mysql 的带有顶部和左侧标题的 HTML 表格