没有合适的资源?快使用搜索试试~ 我知道了~
折叠效果展示,很好的效果的
需积分: 10 0 下载量 46 浏览量
2019-11-21
21:32:07
上传
评论
收藏 5KB TXT 举报
温馨提示
试读
4页
说句实话,这是一个简单得不能再简单的东西了,我也用Js实现功能(写死在每个页面),可我有十多个页面要用到这东西,就想着把它封装成插件,可我又从来没写过Js插件,项目要得很紧,也没时间去研究,所有就在百度上找看看有没有现成的。 结果找了好多都不是这种效果,到最后好不容易找了一个呢,是国外的,效果也能实现,不过有点小瑕疵。 1.因为作者是老外,所以分割文字时他是在指定的切割位置向后搜索,直到空格时才分割。因为英文单词是不能分割的,而单词间是以空格来区分的。这个用于中文的话就有问题,比如上图那个的文本,没一个空格的。 2.每展开并收缩一次,就会产生一个空的连接标签,虽然界面上看不到,但总觉得不爽。 3.那老外把收缩时的的标志省略号“...”写在展开连接里面的,不像上图是在文本尾部,这样就只能把连接和文本紧挨着,不然就很明显的看到省略号是在连接内。 因为又找不到其他的,一看那个JQuery插件代码也不是太多,所以就试着改一下。 好了,废话少说,直接贴代码。一个是未修改的源插件代码,一个是我改过的代码。
资源推荐
资源详情
资源评论
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./Bootstraplayout_files/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
(function ($) {
$.fn.truncaString = function (options) {
var defaults = {
length: 100,
isHide: false, //初始时是否收缩
hideClue: false, //是否显示收缩提示符 “...”
moreText: '[Expansion]', //展开按纽文本
hideText: '[Shrink]', //收缩按纽文本
moreTitle: '', //展开按纽标题(鼠标移上时提示文字)
hideTitle: '', //收缩按纽标题(鼠标移上时提示文字)
boundary: /^\s+$/ //匹配分割符的正则表达式,匹配空格,因为英文单词不能从中间断开 /^(\s|\u002c|\u002e|\uff0c|\u3002|[\u4E00-\u9FA5])+$/
};
var options = $.extend(defaults, options);
return this.each(function (num) {
var stringLength = $(this).html().length;
if (stringLength > defaults.length) {
var whiteSpace = new RegExp(defaults.boundary);
var moreHtml = '<a class="more_' + num + '" href="#" title="' + defaults.moreTitle + '">' + defaults.moreText + '</a> ';//“展开”按纽
var hideHtml = '<a class="hide_' + num + '" href="#" title="' + defaults.hideTitle + '">' + defaults.hideText + '</a>';//“收缩”按纽
//循环把分割点向后移动,直到找到空格
for (var newLimit = defaults.length; newLimit < stringLength; newLimit++) {
var newSplitText = $(this).html().substr(0, newLimit); //分割点前的字符(一直要显示的)
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="./Bootstraplayout_files/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
(function ($) {
$.fn.truncaString = function (options) {
var defaults = {
length: 100,
isHide: false, //初始时是否收缩
hideClue: false, //是否显示收缩提示符 “...”
moreText: '[Expansion]', //展开按纽文本
hideText: '[Shrink]', //收缩按纽文本
moreTitle: '', //展开按纽标题(鼠标移上时提示文字)
hideTitle: '', //收缩按纽标题(鼠标移上时提示文字)
boundary: /^\s+$/ //匹配分割符的正则表达式,匹配空格,因为英文单词不能从中间断开 /^(\s|\u002c|\u002e|\uff0c|\u3002|[\u4E00-\u9FA5])+$/
};
var options = $.extend(defaults, options);
return this.each(function (num) {
var stringLength = $(this).html().length;
if (stringLength > defaults.length) {
var whiteSpace = new RegExp(defaults.boundary);
var moreHtml = '<a class="more_' + num + '" href="#" title="' + defaults.moreTitle + '">' + defaults.moreText + '</a> ';//“展开”按纽
var hideHtml = '<a class="hide_' + num + '" href="#" title="' + defaults.hideTitle + '">' + defaults.hideText + '</a>';//“收缩”按纽
//循环把分割点向后移动,直到找到空格
for (var newLimit = defaults.length; newLimit < stringLength; newLimit++) {
var newSplitText = $(this).html().substr(0, newLimit); //分割点前的字符(一直要显示的)
资源评论
「已注销」
- 粉丝: 0
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功