javascript - 确定扩展文本是否会超过最大宽度/导致省略号显示?

标签 javascript css

我想确定一段文本是否被 chop/显示省略号,以便我可以有条件地添加 [more]链接在它之后。

这是我正在使用的 CSS:

.more-text-collapse {
    display:inline-block;
    max-width:400px;
    height:1.2em;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

我将其应用于 <div> .当里面的文本超过 400px 时,它会在末尾显示一个省略号。在那种情况下,我想添加一个 [more]链接以展开文本。

如何确定是否需要显示链接?

example fiddle

最佳答案

根据 this answer ,这里是代码:

$.fn.textWidth = function(){
  var html_org = $(this).html();
  var html_calc = '<span>' + html_org + '</span>';
  $(this).html(html_calc);
  var width = $(this).find('span:first').width();
  $(this).html(html_org);
  return width;
};

var elmW = $('.more-text').width(),
    txtW = $('.more-text').textWidth();
if(elmW < txtW) $('.more-text').after('[more]');

http://jsfiddle.net/Sergiu/EvD3J/1/

关于javascript - 确定扩展文本是否会超过最大宽度/导致省略号显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14763791/

相关文章:

javascript - Three.js HTML 背景为clearColor

javascript - 如何使用nodejs将图像文件夹从网站下载到本地目录

javascript - Passport.js 身份验证失败时发回 JSON 响应

javascript - 如何在我的 laravel 项目中添加自定义 javascript 文件?

javascript - 如何在悬停时顺利完成事件的 css 动画?

asp.net - asp 的边框 :panel

javascript - Node.JS 与 req.session.variable 异步?

背景中的 CSS 3 或 svg 波浪

html - CSS:什么时候在图像上使用最大高度/最大宽度?

css - 使用尽可能少的 CSS 类是否会带来很大的性能提升?