javascript – 如何在文本容器中找到最后一个可见的单词位置?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何在文本容器中找到最后一个可见的单词位置?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1669字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 如何在文本容器中找到最后一个可见的单词位置?](/upload/InfoBanner/zyjiaocheng/698/fec911ad0b3242e7a87a18afc5001b18.jpg)
是否有可能找到一个小div中显示的文本的最后一个可见单词的位置(溢出:隐藏)?
例如:
<div style="height: 50px; width: 50px; overflow: hidden;">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata
sanctus est Lorem ipsum dolor sit amet.
</div>
如何计算div容器中最后一个可见Word的位置?
解决方法:
JSFiddle:http://jsfiddle.net/SmokeyPHP/NQLcc/1/
HTML:
<div id="txt">
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et
accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata
sanctus est Lorem ipsum dolor sit amet.
</div>
CSS:
#txt {
width: 75px;
height: 75px;
border: 1px solid #F00;
overflow: hidden;
}
JS:
var cntnr = $("#txt");
cntnr.html('<span>'+cntnr.html().replace(/ /g,'</span> <span>')+'</span>')
var words = Array.prototype.slice.call(cntnr.find("span"),0).reverse();
var lastw = null;
for(var i=0,c=words.length;i<c;i++)
{
var w = $(words[i]);
var wbot = w.height() + w.offset().top;
var wleft = w.offset().left;
var wright = wleft+w.width();
if(wbot <= cntnr.height() && wleft <= cntnr.width() && wright <= cntnr.width())
{
lastw = w.text();
break;
}
}
cntnr.html(cntnr.text());
alert(lastw);
JS可能会缩短,但我在写作时已经离开了.同时思考……本质上,你将所有单词包裹在一个跨度中,然后向后循环跨越跨度,看看它们的边界是否落入容器内,并且一旦我们找到一个跨越容器边界的跨度,在将文本返回到纯文本(删除临时跨度)之后,突破循环并返回该单词.
内容总结
以上是互联网集市为您收集整理的javascript – 如何在文本容器中找到最后一个可见的单词位置?全部内容,希望文章能够帮你解决javascript – 如何在文本容器中找到最后一个可见的单词位置?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。