JavaScript截取指定长度字符串点击可以展开全部代码


Posted in Javascript onDecember 04, 2015

文章的篇幅往往不是那么恰到好处,如果以原有的篇幅展示,那么有可能会影响网页的布局或者美观度,这个时候就要根据情况适量截取一定的字符串,以适应布局,不过当点击一个按钮的时候依然可以展开全部的内容,下面就通过一个实例详细介绍一下如何实现此效果,代码示例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>字符串截取展开效果</title>
<style type="text/css">
#thediv{
 width:200px;
 margin:0px auto;
}
</style>
<script type="text/javascript"> 
function cutStr(){ 
 var odiv=document.getElementById("thediv"); 
 var str=odiv.innerHTML; 
 var ospan=document.createElement("span"); 
 var olink=document.createElement("a"); 
 ospan.innerHTML=str.substring(0,20); 
 olink.innerHTML=str.length>20?"...":""; 
 olink.href="###"; 
 olink.onclick=function(){ 
  if(olink.innerHTML=="..."){ 
   olink.innerHTML="收起"; 
   ospan.innerHTML=str; 
  }
  else{ 
   olink.innerHTML="..."; 
   ospan.innerHTML=str.substring(0,20); 
  } 
 } 
 odiv.innerHTML=""; 
 odiv.appendChild(ospan); 
 odiv.appendChild(olink); 
}; 
window.onload=function(){
 cutStr();
}
</script> 
<body>
<div id="thediv">三水点靠木欢迎您,个人的力量再强也只是一只强壮的而已,如果有分享和胸怀和合作的精神,那么就有可能活得巨大进步。</div> 
</body>
</html>

以上代码实现了我们的要求,截取指定的字符串,后面以"..."结尾,当点击这个结尾的时候,能够展开所有的文字内容,下面就介绍一下此效果的实现过程。

一.实现原理:

创建一个span元素和a元素,然后使用substring()函数截取指定的字符串并将其设置为span元素的内容,然后判断原来字符串的长度是否大于指定长度,如果大于,则将a元素中的内容设置为"..."。然后将原有div清空,然后span元素和a元素添加到div中去,这样就实现了截取功能。为a元素注册时间处理函数,点击此按钮就会执行事件处理函数,此函数首先判断是出于何种状态,如果处于收起状态,那么就会将a元素中的内容设置为"收起",并且将原有所有字符放入span,这样就实现了展开,如果出于展开状态,那么就是截取字符和修改a元素中的内容。原理大体如此,可以参阅相关阅读。

以上内容是本文给大家介绍的JavaScript截取指定长度字符串点击可以展开全部代码 ,希望大家喜欢。

Javascript 相关文章推荐
jQuery中offsetParent()方法用法实例
Jan 19 Javascript
angularJS 中$scope方法使用指南
Feb 09 Javascript
浅谈JavaScript数据类型
Mar 03 Javascript
jquery实现表格隔行换色效果
Nov 19 Javascript
javascript实现简单加载随机色方块
Dec 25 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
May 19 Javascript
JavaScript实现翻页功能(附效果图)
Feb 16 Javascript
微信小程序使用Promise简化回调
Feb 06 Javascript
解决node修改后需频繁手动重启的问题
May 13 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
layer弹出层取消遮罩的方法
Sep 25 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
Oct 20 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
Dec 04 #Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 #Javascript
给before和after伪元素设置js效果的方法
Dec 04 #Javascript
全面解析Bootstrap手风琴效果
Apr 17 #Javascript
简单对比分析JavaScript中的apply,call与this的使用
Dec 04 #Javascript
详解JavaScript的Date对象(制作简易钟表)
Apr 07 #Javascript
浅析2种JavaScript继承方式
Dec 04 #Javascript
You might like
一个PHP针对数字的加密解密类
2014/03/20 PHP
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
2010/05/07 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
js查找节点的方法小结
2015/01/13 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
使用apifm-wxapi模块中的问题及解决方法
2019/08/05 Javascript
在js文件中引入(调用)另一个js文件的三种方法
2020/09/11 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
[34:08]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS EG
2018/03/30 DOTA
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python下载网络文本数据到本地内存的四种实现方法示例
2018/02/05 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
python3实现微型的web服务器
2019/09/03 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
双十佳事迹材料
2014/01/29 职场文书
环卫工人节活动总结
2014/08/29 职场文书
收银员岗位职责
2015/02/03 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫
Android中View.post和Handler.post的关系
2022/06/05 Java/Android
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技
HTML 里 img 元素的 src 和 srcset 属性的区别详解
2023/05/21 HTML / CSS