码迷,mamicode.com
首页 > Web开发 > 详细

JS 封装类

时间:2014-08-26 16:53:16      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   ar   art   div   

function HighchartsObj(id, type) {
    var that = this;
    this.options = {
        chart : {
            renderTo : id,
            type : type,
            style : {
                cursor : ‘pointer‘
            },
            events : {
                click : function(e) {
                    // console.log(that.extra);
                    var params = that.extra.split(‘,‘);
                    if (null != params && 5 === params.length) {
                        toIndiPage(params[0], params[1], params[2], params[3],
                                params[4]);
                    }
                }
            }
        },
        credits : {
            // 隐藏版权
            enabled : false
        },
        title : {
            // 隐藏标题
            text : null
        },
        legend : {
            // 隐藏图列
            enabled : false
        },
        tooltip : {
            pointFormat : ‘{series.name}:<b>{point.y}</b>‘
        },
        xAxis : {
            labels : {
                // X坐标隐藏
                enabled : false
            },
            categories : []
        },
        yAxis : {
            title : {
                // 隐藏Y轴文本
                text : null
            }
        },
        series : []
    };
    this.highcharts = null;
    this.extra = null;
}
HighchartsObj.prototype = {
    setCategories : function(categories) {
        if (!this.isArrayType(categories)) {
            alert(‘not array‘);
            return;
        }
        this.options.xAxis.categories = categories;
    },
    setSeries : function(series) {
        if (!this.isArrayType(series)) {
            alert(‘not array‘);
            return;
        }
        var data = [];
        for ( var i = series.length - 1; i >= 0; i--) {
            for ( var j = 0, len = series[i][‘data‘].length; j < len; j++) {
                var val = series[i][‘data‘][j];
                if (‘‘ === val || null === val) {
                    val = null;
                } else {
                    val = Number(val);
                }
                data.push(val);
            }
            var minVal = Math.min.apply(null, data);
            var maxVal = Math.max.apply(null, data);

            // console.log(minVal + ‘==========‘ + maxVal);
            series[i][‘data‘] = $.map(data, function(val, key) {
                // console.log(val + ‘--------‘ + key);
                if (val === minVal) {
                    return {
                        y : val,
                        marker : {
                            radius : 3
                        }
                    };
                } else if (val === maxVal) {
                    return {
                        y : val,
                        marker : {
                            radius : 5
                        }
                    };
                }
                return val;
            });
        }
        this.options.series = series;
    },
    createObj : function() {
        this.highcharts = new Highcharts.Chart(this.options);
    },
    isArrayType : isType(‘Array‘),
    isNumberType : isType(‘Number‘),
    isStringType : isType(‘String‘)
}

// 判断类型
function isType(type) {
    return function(obj) {
        return Object.prototype.toString.call(obj) === ‘[object ‘ + type + ‘]‘;
    }
}

 

JS 封装类

标签:style   blog   color   os   io   for   ar   art   div   

原文地址:http://www.cnblogs.com/xiaoxian1369/p/3937395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!