项目代码js优化尝试

前段时间在做项目中,由于时间比较紧,没有好好规划,就把前端代码写了,导致后来其他同事一而再再而三的复制Copy,出现很难维护的局面,页面的逻辑布局构成为:
1、选项卡-根据选项卡取得对应的数据
2、将取得的数据呈现在echart地图、柱状图、拼图或者其他类型的图表上面
于是,在出差中有点时间,自己重新优化一下代码
这里写图片描述


function isFunction(fn) {
   //return Object.prototype.toString.call(fn)=== '[object Function]';
   return Object.prototype.toString.call(fn)==='[object Function]';
};

var PageChart = {
    echart_x: function (id) { return echarts.init(document.getElementById(id)); },
    mapChart: function (id, jsonName, dqcode, callback) {
        var chart = PageChart.echart_x(id);
        var jsonfileName = jsonName + ".json";
        $.getJSON(jsonfileName, function (data) {
            echarts.registerMap(jsonName, data);
            chart.setOption({
                series: [{
                    type: 'map',
                    map: jsonName,
                    zoom:1.1
                }]
            });
        });
        if (isFunction(callback)) {
            //callback("开始回调");
        };
    },
    BarChart: function () { return ""; },
    LineChart: function () { return ""; },
    PieChart: function () { return ""; },
    load: function (obj) {
        var len = obj.length;
        if (len == 0) { alert("初始化数据失败!"); return; }

        for (var i = 0; i < obj.length; i++) {
            if (obj[i].chartType == "map") {
                PageChart.mapChart(obj[i].id, obj[i].jsonName, obj[i].dqcode, obj[i].callback);
            } else if (type = "bar") { }
            else if (type = "pie") { }
            else {
                alert("没有合适的选项!");
            }
        }
    }
};

function option_X(id,jsonName,dqcode,type) {
    this.id = id,
    this.jsonName = jsonName,
    this.dqcode = dqcode,
    this.chartType=type
};

//调用
PageChart.load([{ id: 'map', jsonName: 'sanmingshi', dqcode: '', chartType: 'map', callback: function (res) { alert(res); } }]);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值