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. jQuery实现列表自动滚动

    需要在页面中一个小的区域循环滚动展示新闻(公告.活动.图片等等),并且,鼠标悬停时停止滚动并提示,离开后,继续滚动. 效果图:    上干货 html: <div id="news&q ...

  2. linux 定时任务 crontab

    为当前用户创建cron服务 1.  键入 crontab  -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/bu ...

  3. CCNA第三讲笔记

    TCP/IP可以分为四层或者五层 应用层.传输层.网络层.网络接口层 或者 应用层.传输层.网络层.数据链路层.物理层 与OSI相比 相同点:都有层次结构 不同点:TCP/IP的应用层包含了OSI的应 ...

  4. IIS上的错误与解决方案

    1.未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序. 解决方案:在IIS上打开该网站应用程序池-->高级设置-->启动32位程序-->选True

  5. JavaScript的语法要点 4 - 面向对象的基础

    在传统的面向对象语言如C++.C#.Java中有类.对象.继承等概念.在JavaScript中又如何表示呢?JavaScript中没有class关键字,JavaScript中的类.对象.继承的概念是通 ...

  6. 阶段性放弃 wxPython 前的总结

    为了实现一个管理本地电子书的程序,搞了一段时间 GUI,使用 wxPython. 实在难以适应和习惯,也搞不出什么太好看的效果. 最不能忍受的是,多线程处理能力太弱.遂决定放弃 GUI. 放弃之前,整 ...

  7. javascript insertBefore 和 appendChild

    js的appendChild()方法 :在一个元素内部追加一个子节点. js的insertBefore()方法:在一个元素内部指定的子节点之前插入子节点. 很明显,appendChild()方法只需要 ...

  8. fedora安装postgresql

    1. 安装:postgresql-server pgadmin程序 sudo yum install postgresql-server.x86_64 sudo yum install pgadmin ...

  9. exec php

    $m = memory_get_usage(); echo $m; require_once('include/entryPoint.php'); // for ($i=0; $i < 5000 ...

  10. ORA-19809: 超出了恢复文件数的限制

    实验环境:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod 实验背景:向tough.t中插入40万条记录,然后rollb ...