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 封装类的更多相关文章

  1. MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类) Ver 1.65

    原文发布时间为:2010-02-07 -- 来源于本人的百度文章 [由搬家工具导入] http://www.popub.net/script/MSClass.html/*MSClass (Class ...

  2. js封装类

    1.闭包函数中定义基类,使用基类定义类方法 ;var Appkit = function() { //定义类 var obj = new Object(); // 定义方法 obj.isWeixin ...

  3. 不间断图片滚动JS

    (从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-05-07) MSClass是一款通用不间断滚动JS封装类,几乎支持目前所有流行风格的图片或文字滚动,横向/竖向/连续/间断 ...

  4. 4个好用的JS联动选择插件

    jQuery City Select 一个简单的jQuery省市联动插件,可以自定义JSON字典实现其他内容的联动选择菜单. PCAS省.市.地区联动选择JS封装类 PCAS可能是国内使用人数最多的J ...

  5. JS对象与原型

    一. JS的对象 1.1 创建对象的几种方式 1.1.1 通过字面量创建对象 在js中,一对{} 其实就是一个对象 var person = { name: "tom", age: ...

  6. Html5用Canvas制作画图板

    需求: 绘制多边形 可填充颜色 可设置文字 可移动,可删除 鼠标按住后,抬起之前线段应该尾随鼠标当前位置 可与后台方便的进行数据交互,保存到后台,或将数据从后台取到前台显示对应的图形 思考: 第一想到 ...

  7. 自己封装的tc

    封装弹窗 html <head> <script src="jquery.js"></script> <script src=" ...

  8. JS-封装类或对象的最佳方案

    JS封装类或对象的最佳方案 面向对象强大的优点之一是能够创建自己专用的类或者对象,封装一组属性和行为.抛开性能来说,JS要比面向对象语言如JAVA要灵活好用的多,组装数据结构很灵活方便.那么我们如何来 ...

  9. MSCL超级工具类(C#),开发人员必备,开发利器

    MSCL超强工具类库 是基于C#开发的超强工具类集合,涵盖了日常B/S或C/S开发的诸多方面,包含上百个常用封装类(数据库操作类全面支持Mysql.Access.Oracle.Sqlserver.Sq ...

随机推荐

  1. 设置TextView文字居中

    有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_TxtTitle.setGravity( ...

  2. Android 开机自启动应用

    Android启动时,会发出一个系统广播 ACTION_BOOT_COMPLETED,它的字符串常量表示为 “android.intent.action.BOOT_COMPLETED” 开机自启动程序 ...

  3. poj 3046 Ant Counting

    Ant Counting Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4982   Accepted: 1896 Desc ...

  4. Poj 2993 Emag eht htiw Em Pleh

    1.Link: http://poj.org/problem?id=2993 2.Content: Emag eht htiw Em Pleh Time Limit: 1000MS   Memory ...

  5. Projected Coordinate Systems

    Coordinate Systems Projected Coordinate Systems This is an archive of a previous version of the ArcG ...

  6. C# login with cookie and fiddler2

    http://blog.codeblack.nl/post/HttpWebRequest-HttpWebResponse-and-cookies.aspx CookieContainer cookie ...

  7. 排序,求几个最值问题,输入n个整数,输出其中最小的k个元素。

    看完两个求最大值算法之后的一些感想. 如果想直接看算法的可以跳过.但是我觉得我这些想法还是比较有用的,至少对我将来的算法设计是这样的. 算法的功能越强大,必然意味着速度慢,因为根据丛林法则,那种慢又功 ...

  8. 【oracle】Enterprise Manager 无法连接到数据库实例。下面列出了组件的状态---个人解决方案

    最近在学习Oracle,平常喜欢使用EM查看数据库状态,但是在最近突然发现EM连接不上Oracle数据库了,不知道问题出在哪里,只好卸载了重装.但是,在使用了几天以后,又出现了相同的问题,于是下决心将 ...

  9. Spark Streaming揭秘 Day19 架构设计和运行机制

    Spark Streaming揭秘 Day19 架构设计和运行机制 今天主要讨论一些SparkStreaming设计的关键点,也算做个小结. DStream设计 首先我们可以进行一个简单的理解:DSt ...

  10. Spark Streaming揭秘 Day6 关于SparkStreaming Job的一些思考

    Spark Streaming揭秘 Day6 关于SparkStreaming Job的一些思考 Job是SparkStreaming的重要基础,今天让我们深入,进行一些思考. Job是什么? 首先, ...