jQuery.extend和jQuery.fn.extend 参数的区别

> JQUERY_$.fn.xx跟$.fn.extend.xx和$.extend.xx(转)
JQUERY_$.fn.xx跟$.fn.extend.xx和$.extend.xx(转)
hht7243 & &
发布时间: & &
浏览:54 & &
回复:0 & &
悬赏:0.0希赛币
JQUERY_$.fn.xx和$.fn.extend.xx和$.extend.xx(转)
[转自  ]$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。 如扩展$.fn.abc() 那么你可以这样子:$("#div").abc(); jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。jQuery.fn.extend(object);给jQuery对象添加方法。jquery 本身并不提供 jQuery.color() 这个方法,如果我们需要对jQuery本身提供的方法进行扩展,则我们就需要是用jQuery.fn.extend: jQuery.fn.extend({ &&& color:function(val) &&& { &&&&&&&&& if(val==undefined){ &&&&&&&&& &&&&&&&&&&&&&& return $(this).css("color"); &&&&&&&&&&& }else{ &&&& &&&&&&&&&&&&& return $(this).css("color",val); &&&&&&&&&&& } &&& } }) $(this).color("red");//对jquery对象进行颜色设置 alert($(this).color());//获取jquery对象的颜色,并用对话框弹出 2.jQuery.extend& 对jQuery对象的扩展,可以理解为静态方法,不需要实例jQuery就可以使用 & jQuery.extend( { &&& add:function(a,b)//myShow &&& { &&&& return a+b; &&& } & }) 调用:alert($.add(3, 4));
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&使用jQuery.fn.extend方法写插件,如何传递参数?
想写一个基于jQuery的loading加载插件,前台调用时可采用 $('选择器').loading() 方法开启loading插件,关闭时采用 $('选择器').loading(“close”) 方法来关闭插件。以上两个功能已实现,现在我想在前台调用时传递两个参数进去,形如: &br&&div class=&highlight&&&pre&&code class=&language-js&&&span class=&nx&&$&/span&&span class=&p&&(&/span&&span class=&s1&&'选择器'&/span&&span class=&p&&).&/span&&span class=&nx&&loading&/span&&span class=&p&&({&/span&
&span class=&nx&&msg1&/span&&span class=&o&&:&/span& &span class=&s2&&&加载中...&&/span&&span class=&p&&,&/span&
&span class=&nx&&msg2&/span&&span class=&o&&:&/span& &span class=&s2&&&数据量较大,请耐心等待&&/span&
&span class=&p&&});&/span&
&/code&&/pre&&/div&我目前的源码如下:&br&&div class=&highlight&&&pre&&code class=&language-text&&;(function($){
$.fn.extend({
&loading&:function(mark){
ui_loading =
if(mark == &close&){
// 关闭插件的代码
ui_loading.show().html('&span class=&ui-loading-text&&加载中...&/span&').before('&div class=&ui-loading-cover&&&/div&');
longTip = self.setTimeout(LongTip, 5000);
function LongTip(){
ui_loading.find(&span.ui-loading-text&).html(‘仍在加载中...’);
})(jQuery);
&/code&&/pre&&/div&&br&请问如何将前台调用时的参数传递进去,将上面静态的提示文字变成参数定义的文字?
想写一个基于jQuery的loading加载插件,前台调用时可采用 $('选择器').loading() 方法开启loading插件,关闭时采用 $('选择器').loading(“close”) 方法来关闭插件。以上两个功能已实现,现在我想在前台调用时传递两个参数进去,形如: $('选择器').loading({
msg1: "加载中...",
msg2: "数据量较大,请耐心等待"
我目前的源码如下:;(function($){
$.fn.extend({
"loading":function(mark){
ui_loading =
if(mark == "close"){
// 关闭插件的代码
ui_loading.show().html('&span class="ui-loading-text"&加载中...&/span&').before('&div class="ui-loading-cover"&&/div&');
longTip = self.setTimeout(LongTip, 5000);
function LongTip(){
ui_loading.find("span.ui-loading-text").html(‘仍在加载中...’);
})(jQuery);
$.fn.loading = (function(){
var loading = {
close : function( param ){
load : function( param ){
return function( method, options ){
if( typeof method === "string" && typeof loading[ method ] === "function" ){
loading[ method ]( options );
if( arguments.length === 0 || typeof method === "object" ){
loading.load( method );
;(function($){
$.fn.extend({
"loading":function(msgObj){
ui_loading =
ui_loading.show().html('&span class="ui-loading-text"&'+(msgObj&&msgObj.msg1)? msgObj.msg1:'加载中...'+'&/span&').before('&div class="ui-loading-cover"&&/div&');
longTip = self.setTimeout(LongTip, 5000);
function LongTip(){
ui_loading.find("span.ui-loading-text").html((msgObj&&msgObj.msg2)? msgObj.msg2:'仍在加载中...');
"close":function () {
// 关闭插件的代码
})(jQuery);
已有帐号?
无法登录?
社交帐号登录> jQuery.extend跟jQuery.fn.extent的区别(转)
jQuery.extend跟jQuery.fn.extent的区别(转)
sjm009 & &
发布时间: & &
浏览:1 & &
回复:0 & &
悬赏:0.0希赛币
jQuery.extend和jQuery.fn.extent的区别(转)
jQuery.extend对jQuery对象的扩展,可以理解为静态方法,不需要实例jQuery就可以使用。&&& &script type="text/javascript"&&&& &!--&&&&&&& jQuery.extend({&&&&&&&&&&& add: function(a, b) {&&&&&&&&&&&&&&& return a +&&&&&&&&&&& }&&&&&&& });&&&&&&& alert($.add(3, 4)); //7&&& //--&&&& &/script& jQuery.fn.extend对jQuery元素的扩展,只能用在jQuery元素上,可以理解为普通方法。定义插件时需要返回this,以支持jQuery的链式操作。&&& &script type="text/javascript"&&&& &!--&&&&&&& jQuery.fn.extend({&&&&&&&&&&& red: function() {&&&&&&&&&&&&&&& return $(this).css('color', '#ff0000');&&&&&&&&&&& }&&&&&&& });&&&&&&& $('#test').red();&&& //--&&&& &/script&转自:
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&$.extend()方法在JQuery中有两个用法,第一种是扩展方法,第二种是用jquery实现的继承方式
jQuery.extend
对jQuery对象的扩展,可以理解为静态方法,是全局的,不需要实例jQuery就可以使用。
JAVASCRIPT:
jQuery.extend({
&&& min: function(a, b) {& return a & b ? a : },
&&& max: function(a, b) { return a & b ? a : }
2& jQuery实现的继承方式
jQuery.extend([deep], target, object1, [objectN])
返回值:Object
把2个对象合并得到新的target,deep是可选的(递归合并)
合并 settings 和 options,修改并返回 settings。
jQuery 代码:
var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options);
settings == { validate: true, limit: 5, name: "bar" }
合并 defaults 和 options, 不修改 defaults。
jQuery 代码:
var empty = {}; var defaults = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; var settings = jQuery.extend(empty, defaults, options);
settings == { validate: true, limit: 5, name: "bar" }
empty == { validate: true, limit: 5, name: "bar" }
jQuery.fn.extend
对jQuery元素的扩展,只能用在jQuery元素上,可以理解为普通方法。定义插件时需要返回this,以支持jQuery的链式操作。
JAVASCRIPT:
&&&&jQuery.fn.extend({
&&&&&&red: function() {
&&&&&&&&return $(this).css('color', '#ff0000');
&&&&$('#test').red();
阅读(...) 评论()

我要回帖

更多关于 jquery.fn.extend用法 的文章

 

随机推荐