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 相关文章推荐
DOMAssitant最新版 DOMAssistant 2.5发布
Dec 25 Javascript
在html页面中包含共享页面的方法
Oct 24 Javascript
javascript Base类 包含基本的方法
Jul 22 Javascript
jquery文本框中的事件应用以输入邮箱为例
May 06 Javascript
table行随鼠标移动变色示例
May 07 Javascript
Javascript 实现复制(Copy)动作方法大全
Jun 20 Javascript
javascript实现可拖动变色并关闭层窗口实例
May 15 Javascript
微信小程序  modal详解及实例代码
Nov 09 Javascript
深入理解Angular.JS中的Scope继承
Jun 04 Javascript
基于vue中css预加载使用sass的配置方式详解
Mar 13 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
Aug 16 Javascript
SSM VUE Axios详解
Oct 05 Vue.js
利用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
第四节--构造函数和析构函数
2006/11/16 PHP
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
PHP全局变量与超级全局变量区别分析
2016/04/01 PHP
简单实现php上传文件功能
2017/09/21 PHP
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
如何学习Javascript入门指导
2013/11/01 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
ReactNative实现图片上传功能的示例代码
2017/07/11 Javascript
详解webpack的配置文件entry与output
2017/08/21 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
js回调函数原理与用法案例分析
2020/03/04 Javascript
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
python基本语法练习实例
2017/09/19 Python
python实现点对点聊天程序
2018/07/28 Python
pygame游戏之旅 添加碰撞效果的方法
2018/11/20 Python
对pandas处理json数据的方法详解
2019/02/08 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
关于tensorflow的几种参数初始化方法小结
2020/01/04 Python
python实现图片横向和纵向拼接
2020/03/05 Python
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
幼儿园元旦活动感言
2014/03/02 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
竞聘书怎么写,如何写?
2014/03/31 职场文书
医德医风自我评价
2014/09/19 职场文书
政府四风问题整改措施
2014/10/04 职场文书
趣味运动会广播稿
2015/08/19 职场文书
Springboot/Springcloud项目集成redis进行存取的过程解析
2021/12/04 Redis
一起来看看Vue的核心原理剖析
2022/03/24 Vue.js