javascript - 自己开发jQuery插件能不能实现一个插件里有多个功能
phpcn_u1582
phpcn_u1582 2017-07-05 11:00:48
0
3
948

RT!
比如,写一个插件,里面有选项卡功能,有轮播图功能,有弹窗功能等等
当然不需要这些功能都很强大,只是为了把这些功能集合起来,方便使用的时候调用就可以了
我的思路是:
用 var methods = {...} 包裹起来,里面的 ... 代表N各小功能。
如:

var methods = {
    nTab: function(options) {
        return this.each(function() {
            var defaults = { ... }; // 每增加一个功能就要多写一遍这个
            settings = $.extend({}, defaults, options);
            // 执行代码
        }
    },
    slide: function(options) {
        return this.each(function() {
            var defaults = { ... };  // 每增加一个功能就要多写一遍这个
            settings = $.extend({}, defaults, options);
            // 执行代码
        }
    }
    // N个小功能代码 ...
}
$.fn.pluginName = function() {
    var method = arguments[0];

    if(methods[method]) {
        method = methods[method];
        arguments = Array.prototype.slice.call(arguments, 1);
    } else if( typeof(method) == 'object' || !method ) {
        method = methods.init;
    } else {
        $.error( 'Method ' +  method + ' does not exist on jQuery.pluginName' );
        return this;
    }

    return method.apply(this, arguments);

}

目前自己照这种方法写了一个插件,里面包含了一些自己经常会用到的js特效,但总觉得这样写不好,但不知道需要做哪些改进,还请走过路过的前辈指点一下啊,谢谢啦!

不知道有没有人也有和我一样的需求,大家都是怎么来实现的?

phpcn_u1582
phpcn_u1582

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!