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. Swift调用Objective-C

    Swift调用Objective-C需要一个名为“<工程名>-Bridging-Header.h”的桥接头文件,如下图所示.桥接头文件的作用是为Swift调用Objective-C对象搭建 ...

  2. C# ASPX.NET 文件(图片)下载

    最好使用aspx页面写: protected void Page_Load(object sender,EventArgs e) { if(!IsPostBack) { System.Io.FileS ...

  3. java计时器

    //用于计时,要求xx秒后开始发送短信,短信之间间隔xx秒 public static Date dateOperateBySecond(Date date,int second){ Calendar ...

  4. linux make clean

    make clean仅仅是清除之前编译的可执行文件及配置文件. 而make distclean要清除所有生成的文件. Makefile 在符合GNU Makefiel惯例的Makefile中,包含了一 ...

  5. C#各版本特性

    C# 2.0 泛型,可空类型,匿名方法,更方便的委托,迭代器,分布类型,静态类,包含不同访问修饰符的属性的取值和赋值方法,命名空间别名,pragma指令,固定大小的缓冲器. C# 3.0 LINQ,自 ...

  6. 一种C# TCP异步编程中遇到的问题

    最近在维护公司的一个socket服务端工具,该工具主要是提供两个socket server服务,对两端连接的程序进行数据的透明转发. 程序运行期间,遇到一个问题,程序的一端是GPRS设备,众所周知,G ...

  7. Jquery get parameter value

    http://www.sitepoint.com/url-parameters-jquery/ $.urlParam('id') ==> $.urlParam = function(name){ ...

  8. sublime 设置localhost 2

    最近sidebar用不了了,提示更新然后就自动卸载了: 研究了下其他方式实现: Sublime Text 2 Sublime Text 3 都可以使用: 菜单 --> Tools --> ...

  9. wordpress在Linux nginx下权限设置

    1.wordpress 权限对安装和使用效果的影响很大:权限错误将影响theme的安装:不能安装theme或者修改theme或删除theme. 相关设置:  chmod 755 wordpress f ...

  10. Spark机器学习 Day1 机器学习概述

    Spark机器学习 Day1 机器学习概述 今天主要讨论个问题:Spark机器学习的本质是什么,其内部构成到底是什么. 简单来说,机器学习是数据+算法. 数据 在Spark中做机器学习,肯定有数据来源 ...