文章分类 Classification
jquery插件写法
稿件来源: 阳光企业网站管理系统 撰稿作者: 太阳光 发表日期: 2012-06-25 阅读次数: 305 查看权限: 游客查看
jquery常用二种插件的写法
因工作需要我写了一个简单的抽奖方法。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>抽奖程序</title> <script type="text/javascript" src="../common/js/jquery-1.7.2.min.js" ></script> </head> <style type="text/css"> .sub_title{ border:1px solid #ddd; padding: 4px; } </style> <body> 名单:<span id="name"></span> 中奖名单: <ul> <li></li> <li></li> <li></li> </ul> <button type="button">开始抽奖</button> <script type="text/javascript"> var a_list=new Array();//人员名单数组 var i_long=0;//总人数 var a_win=new Array();//中奖编号 var n=0;//中奖的编号 $.getJSON("json.asp", function(json){ var list=""; $.each(json, function(i,item){ list+='<span class="sub_title">'+item.name+'<\/span>'; a_list[i]=item.name; }); i_long=json.length; $("#name").html(list); }); function lottery(){ if(i_long<2){ alert("人员名单不足三人无法抽奖!"); }else{ var i=0; do{ i=Math.floor(Math.random()*i_long); }while(a_win[i]); a_win[i]=true; $("ul li").eq(n).html(a_list[i]); n++; if(n>2)$("button").attr("disabled",true); } } $(document).ready(function(){ $("button").click(function(){ lottery(); }); }); </script> </body> </html>
插件写法一:
jQuery.fn.extend({ lottery:function(json,name){ var a_list=new Array();//人员名单数组 var i_long=0;//总人数 var a_win=new Array();//中奖编号 var n=0;//中奖的编号 $.getJSON(json, function(json){ var list=""; $.each(json, function(i,item){ list+='<span class="sub_title">'+item.name+'<\/span>'; a_list[i]=item.name; }); i_long=json.length; $(name).html(list); }); $(this).click(function(){ if(i_long<2){ alert("人员名单不足三人无法抽奖!"); }else{ var i=0; do{ i=Math.floor(Math.random()*i_long); }while(a_win[i]); a_win[i]=true; $("ul li").eq(n).html(a_list[i]); n++; if(n>2)$(this).attr("disabled",true); } }); } }); $(document).ready(function(){ $("button").lottery("json.asp","#name"); });
插件写法二:
(function($) { $.extend($.fn, { lottery: function(setting) { var ps = $.extend({ o_to:"button", s_json: "json.asp", o_id:"#name", o_list:"ul li", i_long:3 }, setting); var a_list=new Array();//人员名单数组 var a_win=new Array();//中奖编号 var n=0;//中奖的编号 $.getJSON(ps.s_json, function(json){ var list=""; $.each(json, function(i,item){ list+='<span class="sub_title">'+item.name+'<\/span>'; a_list[i]=item.name; }); $(ps.o_id).html(list); }); $(ps.o_to).click(function(){ if(a_list.length<ps.i_long-1){ alert("人员名单不足无法抽奖!"); }else{ var i=0; do{ i=Math.floor(Math.random()*ps.i_long); }while(a_win[i]); a_win[i]=true; $(ps.o_list).eq(n).html(a_list[i]); n++; if(n>=ps.i_long)$(this).attr("disabled",true); } }); } }); })(jQuery); $(document).ready(function(){ $.fn.lottery({ o_to:"button", o_id:"#name", o_list:"ul li", i_long:3 }); });
总结:如果参数多的建议使用第二种方法。
关键词: jquery,jq插件 编辑时间: 2012-06-25
0
高兴0
支持0
搞笑1
不解0
谎言1
枪稿0
震惊0
无奈0
无聊0
反对0
愤怒
100%(1)
0%(0)
- 中搜索:jquery插件写法
- 中搜索:jquery插件写法
- 暂无评论
文章图片 article Pictrue
网友评论