重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
!doctype html
在莱西等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、网站建设 网站设计制作定制开发,公司网站建设,企业网站建设,成都品牌网站建设,营销型网站,成都外贸网站制作,莱西网站建设费用合理。
html lang="en"
head
meta charset="UTF-8"
titleDocument/title
script src="jquery.js"/script
script
jQuery(function(){
jQuery.prototype.smohanfacebox = function(options){
options = jQuery.extend({
init:function(){
console.log('default init');
}
},options);
// call init with each selected element
jQuery(this).each(function(){
options.init.call(this);
});
return jQuery(this);
};
// call init function with default define
jQuery('div').smohanfacebox();
// call init function with custom define
jQuery('div').smohanfacebox({
init:function(){
console.log(jQuery(this).attr('id'));
}
});
});
/script
/head
body
div id="1"/div
div id="2"/div
div id="3"/div
/body
/html
这里的this指向的是Jquery对象,加上$()就行了!
或者发QQ邮件给我,我把整个demo给你!
这个是jquery插件的形式,举个例子:
div id="myDiv"/div
(function($){
$.fn.extend({
test:function(){
alert($(this).attr('id'));
}
})
})(jQuery)
$('#myDiv').test();
打印出 : myDiv
(function($){
$.extend({
test:function(){
alert('111');
}
})
})(jQuery)
$.test();
打印出:111
前者是绑定在页面元素上的插件,后者是 绑定在jquery上的插件。
这是不行的$.fn.myfunc=
只是个jquery对象增加了一个方法,所以你这思路是不对的。
你要想在窗口变化时候做某些事还是要分开些的
1 做什么事
2 绑定触发
//1 定义
$.fn.myfunc = function(){
var $this = $(this);
//DOTO
}
//2 绑定
$(function(){
$(window).on("resize", function(){
$(this).myfunc();
});
});
$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。
如扩展$.fn.abc(),即$.fn.abc()是对jquery扩展了一个abc方法,那么后面你的每一个jquery实例都可以引用这个方法了.
那么你可以这样子:$("#div").abc();
$.fx是指jquery的特效。
如果使用显示、滑动、淡入淡出、动画等。
你好!
jQuery中通过extend()用来进行扩展,而又有jQuery.extend()和jQuery.fn.extend()两种用法。
jQuery.extend() 可以理解为jQuery类的扩展;
jQuery.fn.extend() 可以理解为jQuery实例的扩展,类似$("div")这种叫做实例,jQuery插件多基于这种方式扩展;
修改了下你的代码,如下:
!DOCTYPE HTML
html
head
meta http-equiv="Content-Type" content="text/html; charset=utf-8" /
script src="./jquery-1.11.1.min.js"/script
script
function test(){
console.log('init');
};
//给jQuery类扩展一个名为obj的对象,将test赋值给它
$.extend({
obj:test
});
//为$.obj也就是前面的对象继续进行扩展,相当于为它追加了一个okay方法
$.extend($.obj,{
'okay':function(){
console.log('okay');
}
});
$(function(){
$("button:eq(0)").click(function(){
$.obj();
});
$("button:eq(1)").click(function(){
$.obj.okay();
});
});
/script
/head
body
button测试test()/button
button测试okay()/button
/body
/html
只是对你的代码稍微做了调整,extend的使用都是基于jQuery对象的,不管是jQuery类或是jQuery实例。
希望对你有帮助!