jquery 插件开发备注

  今天发现其实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;

  }

  });