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开发随笔二 动态加载js和文件
Nov 25 Javascript
jQuery源码中的chunker 正则过滤符分析
Jul 31 Javascript
js中定义一个变量并判断其是否为空的方法
May 13 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
Aug 17 Javascript
AngularJS中的指令全面解析(必看)
May 20 Javascript
JavaScript 数组中最大最小值
Jun 05 Javascript
JQuery为元素添加样式的实现方法
Jul 20 Javascript
详解如何在angular2中获取节点
Nov 23 Javascript
JS中实现一个下载进度条及播放进度条的代码
Jun 10 Javascript
使用 Vue 实现一个虚拟列表的方法
Aug 20 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
Apr 08 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
Jul 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
给多个地址发邮件的类
2006/10/09 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
php通过baihui网API实现读取word文档并展示
2015/06/22 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
JavaScript类和继承 prototype属性
2010/09/03 Javascript
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
jquery多选项卡效果实例代码(附效果图)
2013/03/23 Javascript
html+js实现动态显示本地时间
2013/09/21 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
js实现上传图片预览方法
2016/10/25 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
2018/07/27 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
Python Web服务器Tornado使用小结
2014/05/06 Python
在Django的URLconf中进行函数导入的方法
2015/07/18 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
opencv python如何实现图像二值化
2020/02/03 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
银行办理业务介绍信
2014/01/18 职场文书
旅游文化节策划方案
2014/06/06 职场文书
体育个人工作总结
2015/02/09 职场文书
政府会议通知范文
2015/04/15 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
护士业务学习心得体会
2016/01/25 职场文书