js 实现简单的饼状图效果
代码语言:html
所属分类:图表
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>BFW NEW PAGE</title> <style> @keyframes bake-pie { from { transform: rotate(0deg) translate3d(0,0,0); } } .pieID { display: inline-block; vertical-align: top; } .pie { height: 200px; width: 200px; position: relative; margin: 0 30px 30px 0; } .pie::before { content: ""; display: block; position: absolute; background: #FFFFFF; z-index: 1; width: 100px; height: 100px; border-radius: 50%; top: 50px; left: 50px; } .pie::after { content: ""; display: block; width: 120px; height: 2px; background: rgba(0,0,0,0.1); border-radius: 50%; box-shadow: 0 0 3px 4px rgba(0,0,0,0.1); margin: 220px auto; } .slice { position: absolute; width: 200px; height: 200px; clip: rect(0px, 200px, 200px, 100px); animation: bake-pie 1s; } .slice span { display: block; position: absolute; top: 0; left: 0; background-color: black; width: 200px; height: 200px; border-radius: 50%; clip: rect(0px, 200px, 200px, 100px); } .legend { list-style-type: none; padding: 0; margin: 0; background: #FFF; padding: 15px; font-size: 13px; box-shadow: 1px 1px 0 #DDD, 2px 2px 0 #BBB; } .legend li { width: 150px; height: 1.25em; margin-bottom: 0.7em; padding-left: 0.5em; border-left: 1.25em solid black; } .legend em { font-style: normal; } .legend span { float: right; } </style> <script id="bfwone" data="dep=jquery.17&err=0" type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/bfwone.js"></script> <script type="text/javascript"> bready(function() { createPie(".pieID.legend", ".pieID.pie"); }); function sliceSize(dataNum, dataTotal) { return (dataNum / dataTotal) * 360; } function addSlice(sliceSize, pieElement, offset, sliceID, color) { $(pieElement).append("<div class='slice "+sliceID+"'><span></span></div>"); var offset = offset - 1; var sizeRotation = -179 + sliceSize; $("."+sliceID).css({ "transform": "rotate("+offset+"deg) translate3d(0,0,0)" }); $("."+sliceID+" span").css({ "transform": "rotate("+sizeRotation+"deg) translate3d(0,0,0)", "background-color": color }); } function iterateSlices(sliceSize, pieElement, offset, dataCount, sliceCount, color) { var sliceID = "s"+dataCount+"-"+sliceCount; var maxSize = 179; .........完整代码请登录后点击上方下载按钮下载查看
网友评论0