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实现的一个导航滚动效果具体代码
May 27 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
Feb 19 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
Mar 26 Javascript
JavaScript中Math.SQRT2属性的使用详解
Jun 14 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
Jul 09 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
Nov 26 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
May 17 Javascript
使用jQuery如何写一个含验证码的登录界面
May 13 jQuery
JS正则表达式封装与使用操作示例
May 15 Javascript
微信小程序如何使用云开发
May 17 Javascript
vue实现路由懒加载及组件懒加载的方式
Jun 11 Javascript
vue模块移动组件的实现示例
May 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
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
基于PHP Socket配置以及实例的详细介绍
2013/06/13 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
php实现登录页面的简单实例
2019/09/29 PHP
JS 继承实例分析
2008/11/04 Javascript
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
jquery实现图片跟随鼠标的实例
2017/10/17 jQuery
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
朴素贝叶斯算法的python实现方法
2014/11/18 Python
python正则表达式之作业计算器
2016/03/18 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
详解Python装饰器由浅入深
2016/12/09 Python
Python制作Windows系统服务
2017/03/25 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
深入了解Python 方法之类方法 &amp; 静态方法
2020/08/17 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
《大自然的语言》教学反思
2014/04/08 职场文书
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
开机音效回归! Windows 11重新引入开机铃声
2021/11/21 数码科技
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
关于Python中进度条的六个实用技巧分享
2022/04/05 Python
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技