开发者社区> 问答> 正文

编写jquery插件时,需要用到别人的插件,怎么调用?

/**
 * $.bwTree
 * @extends jquery.1.9.0
 * @fileOverview 创建Tree
 * @author BW
 * @email
 * @site
 * @version 0.1
 * @date 2013-02-20
 * Copyright (c) 2013-2013 BW
 * @example
 *    $("#tree").bwTree();
 */
$(function ($) {
 
    $.fn.bwTree = function (settings) {
 
        var defaultSettings = {
            Id : "Id",
            Fid : "Fid",
            Level : "Level",
            Name : "Name",
            TUrl : "green/category/list"
        }
 
        settings = $.extend({}, defaultSettings, settings);
 
        var drawTree = function (elem, Id, Fid, Level, Name, TUrl) {
            $.ajax({
                type : "get",
                dataType : "json",
                url : TUrl,
                data : "{}",
                success : function (data) {
                    $.each(data, function (k, v) {
                        if (Id != "Id") {
                            data[k]["Id"] = data[k][Id];
                            data[k][Id] = undefined;
                        }
                        if (Fid != "Fid") {
                            data[k]["Fid"] = data[k][Fid];
                            data[k][Fid] = undefined;
                        }
                        if (Name != "Name") {
                            data[k]["Name"] = data[k][Name];
                            data[k][Name] = undefined;
                        }
                    });
 
                    $.each(data, function (k, v) {
                        if (v.Fid == 0) {
                            elem.append($("<li id=c" + v.Id + "><a href=\"#\">" + v.Name + "</a></li>"));
                            $("#c" + v.Id).bind("click", function () {
                                changeDiv(v);
                                return false;
                            });
 
                        } else {
                            $("#c" + v.Fid).append($("<ul><li id=c" + v.Id + "><a href=\"#\">" + v.Name + "</a></li></ul>"));
                            $("#c" + v.Id).bind("click", function () {
                                changeDiv(v);
                                return false;
                            });
                        }
 
                    });
                }
            });
            return elem;
        }
 
        var changeDiv = function (v) {
            var nDiv = "<div><p>ID:" + v.Id + "</p><p>父ID:" + v.Fid + "</p><p>排序级别:" + v.Level + "</p><p>分类名称:" + v.Name + "</p></div>";
            $("#main").empty().append($(nDiv)).append($("<a id=\"add" + v.Id + "\">添加</a>"));
            $("#add" + v.Id).bind("click", function () { 
                             //这里调用个弹出层插件
            });
        }
         
        return this.each(function () {
            var elem = $("#tree");
            drawTree(elem, settings.Id, settings.Fid, settings.Level, settings.Name, settings.TUrl);
        });
 
    }
 
})(jQuery);

展开
收起
a123456678 2016-07-08 15:36:35 2221 0
1 条回答
写回答
取消 提交回答
  • 直接写方法就行,比如boxy,$("id").boxy({});

    2019-07-17 19:53:34
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
现代Javascript高级教程 立即下载
函数计算最佳实践:快速开发一个分布式 Puppeteer 网页截图服务 立即下载
JS 语言在引擎级别的执行过程 立即下载