javascript - 使用 fn.extend 扩展 jQuery 的基础知识 - 访问成员

标签 javascript jquery jquery-plugins

我做了这个简单的 jQuery 扩展:

 (function($)
    {      
        $.fn.extend({          

            animateleft: function(amount) {              
                    $().animate({
                            left: amount
                            }, 300, function() { }); 

                    return $();    
               }      
         });  
    })(jQuery);

我知道通过返回 $() 它可以启用链接。但是我不知道 $() 中到底包含什么。当我尝试以下操作时,动画功能似乎没有被触发:

$('#container').animateleft("+=300"); 

如果 $('#container') 是作为 $()​​ 传递到扩展中的内容,我认为应该可以工作。

最佳答案

在插件方法内,所选元素由 this 引用。所以应该是:

(function($) {      
    $.fn.extend({          
        animateleft: function(amount) {              
            this.animate({
                left: amount
            }, 300, function() { }); 
            return this;    
        }      
    });  
})(jQuery);

$() 只是调用不带参数的 jQuery 函数,该函数返回一个新的(空)jQuery 对象。

关于javascript - 使用 fn.extend 扩展 jQuery 的基础知识 - 访问成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6380160/

相关文章:

javascript - PHP 数组字段与 javascript

javascript - 查找并替换 HTMLelement.INNERHTML?

javascript - jQuery 将 DOM 元素转换为不同的类型

javascript - jQuery:如何创建每个项目有两个值的数组

jquery - 谷歌搜索设备索引隐藏的 div

jquery - jquery 中 slider 的值

c# - 使用 MVC/Razor 传递 C# 变量以与 Dygraph 一起使用

jquery 幻灯片自动播放,带有下一个和上一个项目缩略图

jquery - 使用 django-debug-toolbar 访问 $(document).ready() 内的 jquery 插件时出现问题

javascript - 我的 JQuery 验证插件对于复选框输入的行为很奇怪