2013-08-28 35 views
1

我不知道這個效果是否有名稱,但基本上是一個增加並最終成爲圓的圓弧。使用HTML,CSS和JavaScript增加圓弧效果

我希望這張圖片能給你一個想法。 enter image description here

基本上我需要創建一個弧,其長度可以通過JavaScript改變(保持相同的半徑)。我真的想嘗試用div和邊框半徑來做這個(使用寬度,高度,左邊,頂部,邊框半徑)

所以,爲了達到90度的弧度就像在(1)這樣的:

-moz-border-radius: 50%; 
-webkit-border-radius: 50%; 
border-radius: 50%; 

然而,電弧將開始與當時的單個像素增加將成爲(1),然後(2),(3),最後一個完整的圓一個我的問題就是這個了。邊框不是剛性固體邊界,但是這樣的事情:

enter image description here

邊框的顏色強度會鬆散到弧線的末端,這將是我不知道如何修復的第一個問題。其次,你是否知道一些算法可以使用大小,位置和邊界半徑來幫助你創建一個具有指定大小和半徑的弧?

回答

1

您可以使用畫布和簡單的JS輕鬆做到這一點。

JS

var c=document.getElementById("canvas"); 
var ctx=c.getContext("2d"); 
ctx.beginPath(); 
//ctx.arc(100,75,50,0,2*Math.PI); //Full circle 
//ctx.arc(100,75,50,0,1.5*Math.PI); //3/4 circle 
//ctx.arc(100,75,50,0,Math.PI); //Half circle 
ctx.arc(100,75,50,0,0.5*Math.PI); //1/4 circle 
ctx.stroke(); 

HTML

<canvas id="canvas"></canvas> 

的jsfiddle:http://jsfiddle.net/r3CSS/

語法.ARC是:.ARC(x座標,y座標,半徑,開始角度,端角度[,逆時針]);

+0

我知道。我可以在IE8及以下版本中使用這個和VML弧,但那些不支持canvas的非IE瀏覽器( ali

+0

您可以使用excanvas.js。它在舊版瀏覽器中的性能稍微有些提高,但是現在很多人都在使用它們。所以,如果不打擾你的源代碼在這裏:http://code.google.com/p/explorercanvas/source/browse/trunk/silverlight/excanvas.js?r=48只需下載/保存並添加它作爲一個頭文件。 – Tricky12