A simple plugin to dynamically create stylised pie-chart-esk graphics
Created
June 9, 2015 16:15
-
-
Save anonymous/ddc9c85f4a5a2330cd86 to your computer and use it in GitHub Desktop.
Bar pie charts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <div class="circle-chart" data-percent="80"></div> | |
| <div class="circle-chart small" data-percent="60"></div> | |
| <div class="circle-chart small green" data-percent="73"></div> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $(document).ready(function() { | |
| var i = 0; | |
| $('.circle-chart').each(function() { | |
| var id = 'chart' + i; | |
| $(this).attr('id', id); | |
| drawCircleChart('#' + id); | |
| i++; | |
| }) | |
| $('.circle-chart').click(function() { | |
| var thisId = $(this).attr('id'); | |
| drawCircleChart('#' + thisId); | |
| }) | |
| function drawCircleChart(id) { | |
| $(id).empty().append("<p>" + $(id).data('percent') + "%</p>"); | |
| addOneBar(id); | |
| } | |
| function addOneBar(id) { | |
| var percent = $(id).data('percent'); | |
| var noOfBars = .36 * percent; | |
| if ($(id).children().length - 1 < noOfBars) { | |
| $(id).append('<div class="bar"></div>'); | |
| setTimeout(function() { | |
| addOneBar(id); | |
| }, 30); | |
| } | |
| } | |
| }) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| .circle-chart { | |
| cursor: pointer; | |
| float: left; | |
| margin: 10px; | |
| height: 400px; | |
| position: relative; | |
| width: 400px; | |
| } | |
| .circle-chart.small { | |
| height: 200px; | |
| width: 200px; | |
| } | |
| .circle-chart p { | |
| color: #DA1D52; | |
| font-family: sans-serif; | |
| font-size: 6em; | |
| font-weight: 600; | |
| line-height: 1em; | |
| margin-top: -0.5em; | |
| position: absolute; | |
| top: 50%; | |
| left: 0; | |
| text-align: center; | |
| width: 100%; | |
| -webkit-animation: fadein 1.5s; | |
| /* Safari, Chrome and Opera > 12.1 */ | |
| -moz-animation: fadein 1.5s; | |
| /* Firefox < 16 */ | |
| -ms-animation: fadein 1.5s; | |
| /* Internet Explorer */ | |
| -o-animation: fadein 1.5s; | |
| /* Opera < 12.1 */ | |
| animation: fadein 1.5s; | |
| } | |
| .circle-chart.small p { | |
| font-size: 3.3em; | |
| } | |
| .circle-chart .bar { | |
| height: 80%; | |
| margin: -40% 0 0 -5px; | |
| position: absolute; | |
| left: 50%; | |
| top: 50%; | |
| width: 3%; | |
| } | |
| .circle-chart .bar:after { | |
| background: #DA1D52; | |
| border-radius: 10px; | |
| content: ""; | |
| height: 15%; | |
| position: absolute; | |
| top: -10%; | |
| left: 0; | |
| width: 100%; | |
| } | |
| .circle-chart.green p { | |
| color: #8CC63F; | |
| } | |
| .circle-chart.green .bar:after { | |
| background: #8CC63F; | |
| } | |
| .circle-chart .bar:nth-child(2) { | |
| -ms-transform: rotate(10deg); | |
| -webkit-transform: rotate(10deg); | |
| transform: rotate(10deg); | |
| } | |
| .circle-chart .bar:nth-child(3) { | |
| -ms-transform: rotate(20deg); | |
| -webkit-transform: rotate(20deg); | |
| transform: rotate(20deg); | |
| } | |
| .circle-chart .bar:nth-child(4) { | |
| -ms-transform: rotate(30deg); | |
| -webkit-transform: rotate(30deg); | |
| transform: rotate(30deg); | |
| } | |
| .circle-chart .bar:nth-child(5) { | |
| -ms-transform: rotate(40deg); | |
| -webkit-transform: rotate(40deg); | |
| transform: rotate(40deg); | |
| } | |
| .circle-chart .bar:nth-child(6) { | |
| -ms-transform: rotate(50deg); | |
| -webkit-transform: rotate(50deg); | |
| transform: rotate(50deg); | |
| } | |
| .circle-chart .bar:nth-child(7) { | |
| -ms-transform: rotate(60deg); | |
| -webkit-transform: rotate(60deg); | |
| transform: rotate(60deg); | |
| } | |
| .circle-chart .bar:nth-child(8) { | |
| -ms-transform: rotate(70deg); | |
| -webkit-transform: rotate(70deg); | |
| transform: rotate(70deg); | |
| } | |
| .circle-chart .bar:nth-child(9) { | |
| -ms-transform: rotate(80deg); | |
| -webkit-transform: rotate(80deg); | |
| transform: rotate(80deg); | |
| } | |
| .circle-chart .bar:nth-child(10) { | |
| -ms-transform: rotate(90deg); | |
| -webkit-transform: rotate(90deg); | |
| transform: rotate(90deg); | |
| } | |
| .circle-chart .bar:nth-child(11) { | |
| -ms-transform: rotate(100deg); | |
| -webkit-transform: rotate(100deg); | |
| transform: rotate(100deg); | |
| } | |
| .circle-chart .bar:nth-child(12) { | |
| -ms-transform: rotate(110deg); | |
| -webkit-transform: rotate(110deg); | |
| transform: rotate(110deg); | |
| } | |
| .circle-chart .bar:nth-child(13) { | |
| -ms-transform: rotate(120deg); | |
| -webkit-transform: rotate(120deg); | |
| transform: rotate(120deg); | |
| } | |
| .circle-chart .bar:nth-child(14) { | |
| -ms-transform: rotate(130deg); | |
| -webkit-transform: rotate(130deg); | |
| transform: rotate(130deg); | |
| } | |
| .circle-chart .bar:nth-child(15) { | |
| -ms-transform: rotate(140deg); | |
| -webkit-transform: rotate(140deg); | |
| transform: rotate(140deg); | |
| } | |
| .circle-chart .bar:nth-child(16) { | |
| -ms-transform: rotate(150deg); | |
| -webkit-transform: rotate(150deg); | |
| transform: rotate(150deg); | |
| } | |
| .circle-chart .bar:nth-child(17) { | |
| -ms-transform: rotate(160deg); | |
| -webkit-transform: rotate(160deg); | |
| transform: rotate(160deg); | |
| } | |
| .circle-chart .bar:nth-child(18) { | |
| -ms-transform: rotate(170deg); | |
| -webkit-transform: rotate(170deg); | |
| transform: rotate(170deg); | |
| } | |
| .circle-chart .bar:nth-child(19) { | |
| -ms-transform: rotate(180deg); | |
| -webkit-transform: rotate(180deg); | |
| transform: rotate(180deg); | |
| } | |
| .circle-chart .bar:nth-child(20) { | |
| -ms-transform: rotate(190deg); | |
| -webkit-transform: rotate(190deg); | |
| transform: rotate(190deg); | |
| } | |
| .circle-chart .bar:nth-child(21) { | |
| -ms-transform: rotate(200deg); | |
| -webkit-transform: rotate(200deg); | |
| transform: rotate(200deg); | |
| } | |
| .circle-chart .bar:nth-child(22) { | |
| -ms-transform: rotate(210deg); | |
| -webkit-transform: rotate(210deg); | |
| transform: rotate(210deg); | |
| } | |
| .circle-chart .bar:nth-child(23) { | |
| -ms-transform: rotate(220deg); | |
| -webkit-transform: rotate(220deg); | |
| transform: rotate(220deg); | |
| } | |
| .circle-chart .bar:nth-child(24) { | |
| -ms-transform: rotate(230deg); | |
| -webkit-transform: rotate(230deg); | |
| transform: rotate(230deg); | |
| } | |
| .circle-chart .bar:nth-child(25) { | |
| -ms-transform: rotate(240deg); | |
| -webkit-transform: rotate(240deg); | |
| transform: rotate(240deg); | |
| } | |
| .circle-chart .bar:nth-child(26) { | |
| -ms-transform: rotate(250deg); | |
| -webkit-transform: rotate(250deg); | |
| transform: rotate(250deg); | |
| } | |
| .circle-chart .bar:nth-child(27) { | |
| -ms-transform: rotate(260deg); | |
| -webkit-transform: rotate(260deg); | |
| transform: rotate(260deg); | |
| } | |
| .circle-chart .bar:nth-child(28) { | |
| -ms-transform: rotate(270deg); | |
| -webkit-transform: rotate(270deg); | |
| transform: rotate(270deg); | |
| } | |
| .circle-chart .bar:nth-child(29) { | |
| -ms-transform: rotate(280deg); | |
| -webkit-transform: rotate(280deg); | |
| transform: rotate(280deg); | |
| } | |
| .circle-chart .bar:nth-child(30) { | |
| -ms-transform: rotate(290deg); | |
| -webkit-transform: rotate(290deg); | |
| transform: rotate(290deg); | |
| } | |
| .circle-chart .bar:nth-child(31) { | |
| -ms-transform: rotate(300deg); | |
| -webkit-transform: rotate(300deg); | |
| transform: rotate(300deg); | |
| } | |
| .circle-chart .bar:nth-child(32) { | |
| -ms-transform: rotate(310deg); | |
| -webkit-transform: rotate(310deg); | |
| transform: rotate(310deg); | |
| } | |
| .circle-chart .bar:nth-child(33) { | |
| -ms-transform: rotate(320deg); | |
| -webkit-transform: rotate(320deg); | |
| transform: rotate(320deg); | |
| } | |
| .circle-chart .bar:nth-child(34) { | |
| -ms-transform: rotate(330deg); | |
| -webkit-transform: rotate(330deg); | |
| transform: rotate(330deg); | |
| } | |
| .circle-chart .bar:nth-child(35) { | |
| -ms-transform: rotate(340deg); | |
| -webkit-transform: rotate(340deg); | |
| transform: rotate(340deg); | |
| } | |
| .circle-chart .bar:nth-child(36) { | |
| -ms-transform: rotate(350deg); | |
| -webkit-transform: rotate(350deg); | |
| transform: rotate(350deg); | |
| } | |
| @keyframes fadein { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /* Firefox < 16 */ | |
| @-moz-keyframes fadein { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /* Safari, Chrome and Opera > 12.1 */ | |
| @-webkit-keyframes fadein { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /* Internet Explorer */ | |
| @-ms-keyframes fadein { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } | |
| /* Opera < 12.1 */ | |
| @-o-keyframes fadein { | |
| from { | |
| opacity: 0; | |
| } | |
| to { | |
| opacity: 1; | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment