首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

生手求指教2句jquery代码含义

2013-11-01 
新手求指教2句jquery代码含义$.fn.dynamictab function(settings){ settings jQuery.extend({ navid :

新手求指教2句jquery代码含义
$.fn.dynamictab = function(settings){
 settings = jQuery.extend({
 navid : '#nav',
navtag : 'li',
  navclass : 'on',
ev : 'click',
 index : 0,
  callback : null
 }, settings || {});
 
 return this.each(function(){
 var container = this;
 var navList = $(settings.navid).find(settings.navtag),
 cur = settings.index,
 cls = settings.navclass,
 ev = settings.ev,
 callback = settings.callback;
 $(navList[cur]).addClass(cls);
 
 navList.each(function(i){
     $(this).bind(settings.ev, function(event){
 $(navList).removeClass(cls);
 $(this).addClass(cls);
 event.preventDefault();
 if(settings.callback){
     callback(this);
 }
 });
 
 });
 
 });
};
我就想问两句:
1.$.fn.dynamictab = function(settings){
2 settings = jQuery.extend({
 navid : '#nav',
navtag : 'li',
  navclass : 'on',
ev : 'click',
 index : 0,
  callback : null
 }, settings || {});
分别什么意思,最好能告诉我这么编写模式的含义 jquery function
[解决办法]

引用:
$.fn.dynamictab = function(settings){
 settings = jQuery.extend({
 navid : '#nav',
navtag : 'li',
  navclass : 'on',
ev : 'click',
 index : 0,
  callback : null
 }, settings 
[解决办法]
 {});
 
 return this.each(function(){
 var container = this;
 var navList = $(settings.navid).find(settings.navtag),
 cur = settings.index,
 cls = settings.navclass,
 ev = settings.ev,
 callback = settings.callback;
 $(navList[cur]).addClass(cls);
 
 navList.each(function(i){
     $(this).bind(settings.ev, function(event){
 $(navList).removeClass(cls);
 $(this).addClass(cls);
 event.preventDefault();
 if(settings.callback){
     callback(this);
 }
 });
 
 });
 
 });
};
我就想问两句:
1.$.fn.dynamictab = function(settings){
2 settings = jQuery.extend({
 navid : '#nav',
navtag : 'li',
  navclass : 'on',
ev : 'click',
 index : 0,
  callback : null
 }, settings 
[解决办法]
 {});
分别什么意思,最好能告诉我这么编写模式的含义


==
1、此乃构建jquery插件的写法,为2中构建jquery插件写法中的一种,为对象级别的插件开发,另一种为$.extend,具体请谷歌jquery插件开发

2、jQuery.extend为合并多个对象,现实的例子如设置默认参数(setting),当没有传入默认参数时,使用默认设置项,当传入参数时,用传入的值替换默认值,jQuery.extend即是将默认对象集合与传入的对象集合合并,以传入对象的集合属性覆盖默认集合对象属性
[解决办法]
楼上正解,看一下相关文档说明就有了
[解决办法]
http://www.cnblogs.com/xcj26/p/3345556.html
看看这个~~jquery插件的详解

热点排行
Bad Request.