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 将disabled的元素置为enabled的三种方法
Jul 25 Javascript
JavaScript toFixed() 方法
Apr 15 Javascript
让你的CSS像Jquery一样做筛选的实现方法
Jul 10 Javascript
javascript 循环调用示例介绍
Nov 20 Javascript
jquery的父子兄弟节点查找示例代码
Mar 03 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
Apr 16 Javascript
jquery siblings获取同辈元素用法实例分析
Jul 25 Javascript
Angularjs的启动过程分析
Jul 18 Javascript
Angularjs使用过滤器完成排序功能
Sep 20 Javascript
extjs4图表绘制之折线图实现方法分析
Mar 06 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
Sep 16 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 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
PHP脚本自动识别验证码查询汽车违章
2016/12/20 PHP
jquery改变tr背景色的示例代码
2013/12/28 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
JS实现的幻灯片切换显示效果
2016/09/07 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
使用Promise链式调用解决多个异步回调的问题
2017/01/15 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
2018/05/04 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
python实现linux服务器批量修改密码并生成execl
2014/04/22 Python
Python坐标线性插值应用实现
2019/11/13 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
浅析python连接数据库的重要事项
2021/02/22 Python
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
个人廉洁自律承诺书
2014/03/27 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
社区党员志愿服务活动方案
2014/08/18 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
2015年小学实验室工作总结
2015/07/28 职场文书
房产遗嘱范本
2015/08/06 职场文书
创业计划书之孕婴生活馆
2019/11/11 职场文书