~~~
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<title>曲线图</title>
<style type="text/css">
body,html{
width: 100%;
height: 100%;
background: #000;
margin: 0;
padding: 0;
overflow: hidden;
}
#myCanvas{
width:80%;
height:80%;
display: block;
margin:50px auto 0;
border: 2px solid red;
}
.tips{
position: absolute;
padding: 10px;
background: #ccc;
color: #000;
margin: 0;
transition: all .3s;
display: none;
}
</style>
</head>
<body>
<div id="myCanvas">
</div>
<p class="tips"></p>
<script src="js/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/easeljs-0.8.2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/TweenMax.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/curve.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
createjs.Ticker.timingMode = createjs.Ticker.RAF;
var result = null;
$.ajax({
type:"get",
url:"data/ceshi.txt",
dataType:"json",
success:function(data){
result = data.result;
var topName = "ip";
var bottomName = "ym";
var nodeArr = [],nodeMap = [],resultMap = {},bottomNode = [],bottomMap = [];
for (var i = 0; i < result.length; i++) {
if(!resultMap[result[i][topName]]){
resultMap[result[i][topName]] = {
name:result[i][topName],
to:[]
}
}
if($.inArray(result[i][bottomName],resultMap[result[i][topName]].to)==-1){
resultMap[result[i][topName]].to.push(result[i]);
}
if($.inArray(result[i][bottomName],bottomNode)==-1){
bottomMap.push(result[i]);
bottomNode.push(result[i][bottomName]);
}
if($.inArray(result[i][topName],nodeArr)==-1){
nodeMap.push(result[i]);
nodeArr.push(result[i][topName]);
}
}
init({
topNodeArr:bottomMap,
bottomNodeArr:nodeMap,
to:resultMap
});
}
});
function init(data){
var curve = new Widget.curve("#myCanvas");
curve.setConfig({
colorArr:["#f90","#6afbf8","blue","yellow","red","#d7953d"],//线条颜色
topName:"ym",//上边点字段
bottomName:"ip",//下边点字段
info:"cs",//提示信息字段
fontColor:"#64c5ff",//字体颜色
fontStyle:"12px Arial",//字体样式
fontdeg:-30,//字体旋转角度
Highlightsize:4,//高亮元素间隔
radius:4,//小圆点半径
Highlightradius:5,//高亮小圆点半径
top:70,//上边距
bottom:70,//下边距
topline:0.1,//上直线取值范围(两个圆点之间距离的百分比)
bottomline:0.1,//下直线取值范围
circleColor:"#4f98ac",//小圆点填充色
topHighlightcircleColor:"#ddd63d",//上边高亮小圆点填充色
bottomHighlightcircleColor:"#ff6a00",//下边高亮小圆点填充色
numberOfPoints:100,//线条分成多少段
streSize:1 //流光取多少点
});
start();
curve.EventDispatcher.on("WIDGET_OVER",function(e,argObj){
var left = $("#myCanvas").offset().left + argObj.x;
var top = $("#myCanvas").offset().top + argObj.y;
$(".tips").show().html("域名:"+argObj.tips.ym+"<br />IP:"+argObj.tips.ip+"<br />数量;"+argObj.tips.cs).css({
left:left+"px",
top:top+"px"
});
});
curve.EventDispatcher.on("WIDGET_OUT",function(e){
$(".tips").hide();
});
window.onresize = throttle(start,100);
function throttle(fn, delay){
var timer = null;
return function(){
var context = this, args = arguments;
clearTimeout(timer);
timer = setTimeout(function(){
fn.apply(context, args);
}, delay);
};
};
function start(){
curve.resize({
width:$("#myCanvas").width(),
height:$("#myCanvas").height()
});
curve.setDataProvider(data);
}
}
</script>
</body>
</html>
~~~
- 序言
- 第一章、基础引擎
- 第二章、了解API,开始写动画
- 第三章、从文档到动画(1)
- demo1源码
- demo2源码
- demo3源码
- demo4源码
- 第四章、从文档到动画(2)
- 第五章、从文档到动画(3)
- 第六章、精灵Sprite类和简明动画(1)
- 第七章、精灵图片的制作-奔跑的马儿
- 第八章、野人大冒险(项目实战)
- 第九章、绘制动画走秀
- 第十章、createjs的位图渲染(非常重要)
- 第十一章、createjs绘制视频
- 第十二章、createjs与animateCC协作6
- 第十三章、createjs与animateCC协作5
- 十四章、createjs与animateCC协作4
- 十五章、createjs与animateCC协作3
- 十六章、createjs与animateCC协作2
- 十七章、createjs与animateCC协作1
- 十八章、前端转做createjs的误区
- 十九、createjs与白鹭和laya的性能比较
- 二十、createjs近期发现的坑与解决办法
- 二十一、createjs推出新版本stageGL
- 二十二、createjs强制横屏方法
- 二十三、get、set以及简单的封装
- 二十四、createjs新手教程-前端向
- 二五、阻止createjs鼠标穿透的方法
- 二六、Creatine-createjs的游戏引擎
- 二七、createjs性能实测与性能优化实测
- 二八、createjs手势解锁效果demo
- 二九、给createjs新手的一点建议
- 三十、createjs进阶—sprite精灵图2
- 三一、createjs进阶—sprite精灵图1
- 三二、createjs性能优化(持续更新)
- 三三、createjs帧频显示代码
- 三四、createjs做的移动端展示站
- 三五、createjs进阶—createjs的OOP
- 三六、新手写createjs时容易遇到的坑
- 三七、createjs基础教程2-flashcc
- 三八、createjs基础教程1-flashcc
- 三九、stagegl的用法介绍和注意事项
- 四十、stagegl性能实测
- 四一、算法的艺术(附算法特效demo)
- 四二、来一波硬货,常用类
- 四三、面向canvas,更加简单的自适应方式
- 思思、再讲讲自适应-移动端自适应
- 四五、有关遮罩和图层叠加的问题(附刮刮卡demo)