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 相关文章推荐
JavaScript中为元素加上name属性的方法
May 09 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
Aug 17 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
Dec 05 Javascript
javascript中直接引用Microsoft的COM生成Word
Jan 20 Javascript
关于js数组去重的问题小结
Jan 24 Javascript
jQuery判断指定id的对象是否存在的方法
May 22 Javascript
jQuery实现两款有动画功能的导航菜单代码
Sep 16 Javascript
Javascript中apply、call、bind的巧妙使用
Aug 18 Javascript
vue中渐进过渡效果实现
Oct 27 Javascript
js监听input输入框值的实时变化实例
Jan 26 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
Jul 10 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
Jun 18 jQuery
利用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
用header 发送cookie的php代码
2007/03/16 PHP
PHP批量生成缩略图的代码
2008/07/19 PHP
elgg 获取文件图标地址的方法
2010/03/20 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
dedecms中使用php语句指南
2014/11/13 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
Javascript 代码也可以变得优美的实现方法
2009/06/22 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
canvas绘制七巧板
2017/02/03 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
vue.js select下拉框绑定和取值方法
2018/03/03 Javascript
node结合swig渲染摸板的方法
2018/04/11 Javascript
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
Python实现的txt文件去重功能示例
2018/07/07 Python
python随机数分布random测试
2018/08/27 Python
python实发邮件实例详解
2019/11/11 Python
Keras load_model 导入错误的解决方式
2020/06/09 Python
python3.7调试的实例方法
2020/07/21 Python
如何利用Python 进行边缘检测
2020/10/14 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
27个经典Linux面试题及答案,你知道几个?
2014/03/11 面试题
高一家长会邀请函
2014/01/12 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
利用正则表达式匹配浮点型数据
2022/05/30 Java/Android