jquery 插件开发备注


Posted in Javascript onAugust 27, 2010

今天发现其实JQ自己早就有对这个临时数据的存储方法:

$("dom").data(“mydata”,"this is data");还有就是插件开发的时候我们经常要给插件添加方法,其实就用JS内部添加方法的方法即可

this.myfn=function(){}

下面给上一个显示部分文字的插件的源码:

(类似CSS的text-overflow,但本插件你需要提供显示几个字,用于精确控制显示数量)

/** 
* demo: 
* 1.$("#limittext").limittext(); 
* 2.$("#limittext").limittext({"limit":1}); 
* 3.$("#limittext").limittext({"limit":1,"fill":"(部分隐藏)","fillid":"aaa"}); 
* 4.$("#limittext").limittext({"limit":1,"fill":"(部分隐藏)","fillid":"aaa"}).limit(10); * 5.$("#limittext").limittext({"limit":1,"fill":"(部分隐藏)","fillid":"aaa"}).limit('all'); 
* @param {Object} opt 
* @author Lonely * @link http://liushan.net 
*/ 
jQuery.fn.extend({ 
limittext:function(opt){ 
opt=$.extend({ 
"limit":30, 
"fill":"...", 
"fillid":null 
},opt); 
var $this=$(this); 
var body=$(this).data('body'); 
if(body==null){ 
body=$this.html(); 
$(this).data('body',body); 
} 
this.limit=function(limit){ 
if(body.length<=limit||limit=='all') 
var showbody=body; 
else{ 
if(opt.fillid==null) 
var showbody=body.substring(0,limit)+opt.fill; 
else 
var showbody=body.substring(0,limit)+"<span id='"+opt.fillid+"'>"+opt.fill+"<span>"; 
} 
$(this).html(showbody); 
} 
this.limit(opt.limit); 
return this; 
} 
});
Javascript 相关文章推荐
DOM 基本方法
Jul 18 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
Jun 24 Javascript
JavaScript中的数学运算介绍
Dec 29 Javascript
input输入框鼠标焦点提示信息
Mar 17 Javascript
BootStrap实用代码片段之一
Mar 22 Javascript
AngularJS基础 ng-paste 指令简单示例
Aug 02 Javascript
微信小程序 参数传递详解
Oct 24 Javascript
JS声明式函数与赋值式函数实例分析
Dec 13 Javascript
javascript自执行函数
Feb 10 Javascript
AngularJS中的promise用法分析
May 19 Javascript
老生常谈ES6中的类
Jul 31 Javascript
canvas多重阴影发光效果实现
Apr 20 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
Aug 27 #Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
Aug 26 #Javascript
ExtJs GridPanel简单的增删改实现代码
Aug 26 #Javascript
javascript oop开发滑动(slide)菜单控件
Aug 25 #Javascript
JavaScript初学者需要了解10个小技巧
Aug 25 #Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
Aug 25 #Javascript
js中判断控件是否存在
Aug 25 #Javascript
You might like
php实现多张图片上传加水印技巧
2013/04/18 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
php使用parse_str实现查询字符串解析到变量中的方法
2017/02/17 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
JavaScript中的数据类型转换方法小结
2015/10/26 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
jQuery点击头像上传并预览图片
2017/02/23 Javascript
Vue利用路由钩子token过期后跳转到登录页的实例
2017/10/26 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
Python正则表达式的使用范例详解
2014/08/08 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
2017/03/24 Python
Python中对象的引用与复制代码示例
2017/12/04 Python
python实现雨滴下落到地面效果
2018/06/21 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
2020/01/10 Python
python实现银行账户系统
2021/02/22 Python
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
教育学习自我评价
2014/02/03 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
导游词格式
2015/02/13 职场文书
2015年党风廉政建设工作总结
2015/04/09 职场文书
公司市场部岗位职责
2015/04/15 职场文书
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android