~~~
<!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)