在需要的时候用js收缩文本高度
在显示图书目录的时候,往往拉的页面很长,用户一眼看不到边,这样用户体验不好,所以经常可以看看“继续阅读”的链接。
它是如何实现的呢,其实就是用js检测块的高度,如果高度超过一定数,则修改文本块的高度,并设置overflow:hidden,然后再创建一个继续阅读的连接放在下面用来展开所有内容。
js代码如下,代码在ie和firefox下测试通过:

function doShrink(oshrink,maxHeight){
if(oshrink){
var oH = (oshrink.clientHeight||oshrink.offsetHeight);
if(oH>maxHeight){
var link = document.createElement("a");
var div = document.createElement("div");
div.className = "smallA";
div.innerHTML = "…………<br />"
text = document.createTextNode("[点击查看更多内容

link.href = "javascript:void(0)";
link.onclick = function(e) { shrinkShow(this); }
link.appendChild(text);
div.appendChild(link);
var onext = oshrink.nextSibling;
if(onext)
oshrink.parentNode.insertBefore(div,onext);
else
oshrink.parentNode.appendChild(div);
//过滤较长的内容
oshrink.srcHeight = oH;
oshrink.style.cssText ="overflow-y: hidden; max-height: "+maxHeight+"px; *_height: "+maxHeight+"px; ";
}
}
}
function shrinkShow(obj) {
var omore = obj.parentNode;
var ohide = omore.previousSibling;
ohide.style.height = ohide.srcHeight + 'px';
ohide.style.maxHeight = ohide.srcHeight + 'px';
remove(omore);
}
测试文本
测试了
测试侧试试了
测试文本
测试了
测试侧试试了
测试
测试文本
测试了
测试侧试试了
测试文本
测试了
测试侧试试了
如上面的测试代码效果
在这个地址你可以看到更形象的测试效果图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2008-04-24 在测试sql语句性能时先清空缓存
2007-04-24 技巧系列文章
2007-04-24 javascript Date类的扩展