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 相关文章推荐
js parsefloat parseint 转换函数
Jan 21 Javascript
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
Jan 21 Javascript
js实现跨域的方法实例详解
Jun 24 Javascript
微信jssdk在iframe页面失效问题的解决措施
Mar 03 Javascript
微信JS-SDK坐标位置如何转换为百度地图坐标
Jul 04 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
Feb 13 Javascript
利用forever和pm2部署node.js项目过程
May 10 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
Oct 24 Javascript
详解如何在nuxt中添加proxyTable代理
Aug 10 Javascript
简单通过settimeout看javascript的运行机制
May 10 Javascript
微信小程序中如何计算距离某个节日还有多少天
Jul 15 Javascript
Vue.directive 实现元素scroll逻辑复用
Nov 29 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学习笔记之一
2011/01/17 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
lib.utf.js
2007/08/21 Javascript
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
判断用户是否在线的代码
2011/03/05 Javascript
EasyUI中的tree用法介绍
2011/11/01 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
JavaScript中数组去除重复的三种方法
2016/04/22 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
jQuery页面加载初始化的3种方法(推荐)
2016/06/02 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
jquery easyui dataGrid动态改变排序字段名的方法
2017/03/02 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
2018/09/12 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
Python常用特殊方法实例总结
2019/03/22 Python
Python编程实现tail-n查看日志文件的方法
2019/07/08 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
python 制作本地应用搜索工具
2021/02/27 Python
智利最大的网上商店:Linio智利
2016/11/24 全球购物
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
会议接待欢迎词
2014/01/12 职场文书
计算机科学与技术专业求职信
2014/09/03 职场文书
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android