国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

canvas實現折點圖,并有鼠標hover樣式

2024-04-27 15:06:23
字體:
來源:轉載
供稿:網友

1、直接上圖,看最終樣式

2、html代碼

<div class="myCanvas-cont">		<canvas id="myCanvas" width="1100" height="500">		您的瀏覽器暫不支持canvas		</canvas>	</div>3、js代碼

$(function(){	var c=document.getElementById("myCanvas");	var cxt=c.getContext("2d");	/*開始繪制外邊框*/	cxt.beginPath();	cxt.strokeStyle   = '#cdc9c4';	cxt.lineWidth = 4;	cxt.moveTo(100,400);	cxt.lineTo(1020,400);	cxt.stroke();	cxt.beginPath();	cxt.strokeStyle   = '#cdc9c4';	cxt.lineWidth = 4;	cxt.moveTo(100,400);	cxt.lineTo(100,0);	cxt.stroke();	/*開始繪制橫向內邊框*/	cxt.beginPath();	cxt.strokeStyle='#e7e5e2';	cxt.lineWidth = 1;	for(let i=1;i<=6;i++){		cxt.moveTo(100,400-60*i);		cxt.lineTo(980,400-60*i);		cxt.stroke();	}	/*開始繪制豎向內邊框*/	for(let i=1;i<=11;i++){		cxt.moveTo(100+80*i,400);		cxt.lineTo(100+80*i,40);		cxt.stroke();	}		/*開始繪制豎軸文字*/	cxt.font = "16px SimHei";    cxt.fillStyle = "#00c5de";    //從坐標點(50,345)開始繪制文字    for(let i=0;i<=6;i++){    	cxt.fillText(10*i+"萬", 50, 405-60*i);    }    /*開始繪制橫軸文字*/    for(let i=1;i<=12;i++){    	cxt.fillText("2017-"+i, 80*i, 440);    }    /*開始繪制圓點(每月數據)*/    ////模擬的每月數據    var arr=[22,40,50,60,32,11,0,45,50,15,20,55];       //開始繪制(圓點Y軸坐標)    var yArr=[];    for(let i=0,len=arr.length;i<len;i++){    	yArr.push(400-arr[i]*6);    }    for(let j=0,len=yArr.length;j<len;j++){    	//畫實心圓    	cxt.beginPath();    	cxt.fillStyle="#00c5de";		cxt.arc(100+80*j,yArr[j],9,0,Math.PI*2,true);		cxt.fill();		cxt.closePath();		//繪制連接圓的折線		cxt.beginPath();		cxt.strokeStyle='#00c5de';		cxt.lineWidth = 1;		cxt.moveTo(100+80*j,yArr[j]);		cxt.lineTo(100+80*(j+1),yArr[j+1]);		cxt.stroke();    }		c.addEventListener("mousemove", function (evt) { 	  var mousePos = getMousePos(c, evt); 	  var pagex=mousePos.x,	  	  pagey=mousePos.y;	  for(let j=0,len=yArr.length;j<len;j++){	 	//鼠標移入圓的范圍,給圓添加新樣式	 	if(pagex>(100+80*j-9) && pagex<(100+80*j+9) && pagey>(yArr[j]-9) && pagey<(yArr[j]+9)){	 		//畫實心圓	    	cxt.beginPath();	    	cxt.fillStyle="#c9302c";			cxt.arc(100+80*j,yArr[j],9,0,Math.PI*2,true);			cxt.fill();			cxt.closePath();	 	}else{	 		//清除鼠標移入時的圓	 			 		//再從新繪制圓 		 	cxt.beginPath();	    	cxt.fillStyle="#00c5de";			cxt.arc(100+80*j,yArr[j],9,0,Math.PI*2,true);			cxt.fill();			cxt.closePath();	 	}    	      } 	}, false); 	 //獲取鼠標在canvas畫布上的位置(**不是瀏覽器窗口的鼠標位置)	 function getMousePos(canvas, evt) { 	   var rect = canvas.getBoundingClientRect(); 	   return { 	     x: evt.clientX - rect.left * (canvas.width / rect.width),	     y: evt.clientY - rect.top * (canvas.height / rect.height)	   }	 }	//定義清除圓形區域函數	function clearCircle(oc,x,y,r){	    for(var i=0; i< Math.round(Math.PI * r); i++){	        var angle = (i / Math.round(Math.PI * r)) * 360;	        oc.clearRect(x, y, Math.sin(angle * (Math.PI / 180)) * r , Math.cos(angle * (Math.PI / 180)) * r);	    }	}   })


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 商南县| 宁夏| 门源| 奉节县| 太谷县| 外汇| 紫金县| 普兰店市| 巍山| 永清县| 汕尾市| 许昌市| 慈利县| 昌乐县| 商都县| 乾安县| 台东市| 喜德县| 十堰市| 吉木乃县| 碌曲县| 贺兰县| 漯河市| 汕尾市| 三穗县| 鄂尔多斯市| 荥阳市| 偏关县| 满城县| 常州市| 潞城市| 临沧市| 香港| 怀柔区| 深水埗区| 子洲县| 西乌珠穆沁旗| 双江| 双江| 洱源县| 察雅县|