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类型检查与转换

    继承会发生在子类和父类中,如图所示,是一系列类的继承关系类图,Person是类层次结构中的根类,Student是Person的直接子类,Worker是Person的直接子类.这个继承关系类图的具体实现 ...

  2. using System.Collections.Generic;

    public class CommonClass { public static void ShowInt(int iValue) { //typeof(CommonClass) typeof关键字 ...

  3. C++转到C#历程零基础知识(持续增加)

    1.命名空间.类和源文件的关系:几个源文件用同一个命名空间时候,那么这几个源文件中的各个类之间的调用时可行的.他不会根据你的源文件分离而分开,因为最终编译后生成的是dll,这里来看你的几个源文件是没有 ...

  4. zz 李治国:地图大战本质是争抢O2O入口

    导航免费,这一天早该到来了!高德.百度免费之争,其实也是为了抢占生活服务这一最关键的入口,从而获得该战场的翻盘机会. 导航地图免费,实则是生活服务的入口之争.我在08年时就在阿里内部讲过这个事,并建议 ...

  5. stl的实现原理简单讲解,通熟易懂

    总结 需要经常随机访问请用vector 2.list list就是双向链表,元素也是在堆中存放,每个元素都是放在一块内存中,它的内存空间可以是不连续的,通过指针来进行数据的访问,这个特点使得它的随机存 ...

  6. Powerful Sleep(神奇的睡眠-睡眠生物钟的秘密:如何睡得更少却睡得更好)阅读笔记

    睡眠机制 我们活着的时候,大脑会产生脑电波.脑电图仪器通过贴在人头上的一些电极读出脑电波的活动,然后把活动用图表显示出来. 睡眠过程可以分为5个过程,划分依据与大脑发出的脑电波类型. 当人清醒时,大脑 ...

  7. 支持 IE8 IE11 和 FF, Chrome 浏览器的圆角

    .rounded-corners { position: relative behavior: url(/Styles/PIE.htc); //这里一定是“/”根目录 border-radius: 2 ...

  8. 51nod1264线段相交

    1264 线段相交 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出平面上两条线段的两个端点,判断这两条线段是否相交(有一个公共点或有部分重合认为相交). 如果相交, ...

  9. YII千万级PV架构经验分享--理论篇

    hello,大家好,我是方少,现在想象一下这样一个情景,这是一个很惬意的季节,是一个可以随意乱穿的季节,两个人,一个穿羽绒服,一个穿热裤,小胡同里两人迎面走来,看到对方都哈哈大笑,前仰后合,笑完都甩一 ...

  10. Catalyst揭秘 Day6 Physical plan解析

    Catalyst揭秘 Day6 Physical plan解析 物理计划是Spark和Sparksql相对比而言的,因为SparkSql是在Spark core上的一个抽象,物理化就是变成RDD,是S ...