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 setattribute批量设置css样式
Nov 26 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
Jun 28 Javascript
javascript在myeclipse中报错的解决方法
Oct 29 Javascript
Html5的placeholder属性(IE兼容)实现代码
Aug 30 Javascript
手机号码,密码正则验证
Sep 04 Javascript
js实现进度条的方法
Feb 13 Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 Javascript
jquery动态切换背景图片的简单实现方法
May 14 Javascript
vue.js国际化 vue-i18n插件的使用详解
Jul 07 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
Sep 07 Javascript
AngularJS中的路由使用及实现代码
Oct 09 Javascript
ES6函数和数组用法实例分析
May 23 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默认安装产生系统漏洞
2006/10/09 PHP
php中jpgraph类库的使用介绍
2013/08/08 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
jquery select操作的日期联动实现代码
2009/12/06 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
JS图片懒加载技术实现过程解析
2020/07/27 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
python之生成多层json结构的实现
2020/02/27 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
西班牙土拨鼠床垫公司,感觉在云端:Marmota
2019/03/18 全球购物
开办饭店创业计划书
2013/12/28 职场文书
战略合作意向书范本
2014/04/01 职场文书
开展批评与自我批评发言材料
2014/05/15 职场文书
大型会议策划方案
2014/05/17 职场文书
会计学习心得体会
2014/09/09 职场文书
教师节横幅标语
2014/10/08 职场文书
中学校园广播稿
2015/08/18 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
logback 实现给变量指定默认值
2021/08/30 Java/Android