"animation"
Bootstrap 3.0.0 Snippet by evarevirus

<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <!DOCTYPE html><html lang='en' class=''> <head><script src='//production-assets.codepen.io/assets/editor/live/console_runner-079c09a0e3b9ff743e39ee2d5637b9216b3545af0de366d4b9aad9dc87e26bfd.js'></script><script src='//production-assets.codepen.io/assets/editor/live/events_runner-73716630c22bbc8cff4bd0f07b135f00a0bdc5d14629260c3ec49e5606f98fdd.js'></script><script src='//production-assets.codepen.io/assets/editor/live/css_live_reload_init-2c0dc5167d60a5af3ee189d570b1835129687ea2a61bee3513dee3a50c115a77.js'></script><meta charset='UTF-8'><meta name="robots" content="noindex"><link rel="shortcut icon" type="image/x-icon" href="//production-assets.codepen.io/assets/favicon/favicon-8ea04875e70c4b0bb41da869e81236e54394d63638a1ef12fa558a4a835f1164.ico" /><link rel="mask-icon" type="" href="//production-assets.codepen.io/assets/favicon/logo-pin-f2d2b6d2c61838f7e76325261b7195c27224080bc099486ddd6dccb469b8e8e6.svg" color="#111" /><link rel="canonical" href="https://codepen.io/team/Atcom/pen/KdmqWX?limit=all&page=3&q=Customisable" /> <link href='https://fonts.googleapis.com/css?family=Quicksand:300' rel='stylesheet' type='text/css'> <link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css'> <style class="cp-pen-styles">html, body {padding:0; margin: 0; overflow:hidden;} h1{color: #FFFFFF;font-size: 35px;line-height: 35px;} #circularProgressStepCanvas {width:100%;height:100%;position:absolute;left:0;top:0;padding:0;margin:0;} .container {width: 100%;height:100%;display:inline-block;position:relative;vertical-align: middle;} .progressWrapper {display: inline-block; width: 600px; height: 600px; text-align: center; margin: 0 auto; position: relative; bottom: 50%; margin-top: 50px; } .mainWraper{width:100%;height:100vh;position: relative;text-align: center;background-color: #222222;} .progressText{margin-top: 282.5px;} .indicator{color:#393939;font-size: 100px;font-family: 'Quicksand', sans-serif;line-height: 6;} .title{font-family: 'Quicksand', sans-serif;color:#78766c;font-size:50px;max-width:600px;line-height:1; margin: 0 auto; position: relative; padding-top: 30px;} .paging{width:100%;display:none;} button { -webkit-appearance: none; background: transparent; border: 0; outline:0; } svg { padding: 5px; } .arrow { cursor: pointer; position: absolute; top: 50%; margin-top: -45px; margin-left: -35px; width: 70px; height: 90px; } .left { left: -22%; } .right { right: -24%; } .left:hover polyline, .left:focus polyline { stroke-width: 3; } .left:active polyline { stroke-width: 6; transition: all 100ms ease-in-out; } .right:hover polyline, .right:focus polyline { stroke-width: 3; } .right:active polyline { stroke-width: 6; transition: all 100ms ease-in-out; } polyline { transition: all 250ms ease-in-out; } @media (max-width:600px), (max-height:600px){ .progressWrapper {width:350px;height:350px;} .indicator{font-size: 70px; line-height:5}); }</style></head><body> <div class="mainWraper"> <div class="title">ROUND PROGRESS INDICATOR</div> <div class="progressWrapper" id="progressWrapper"> <div class="container"> <canvas id="circularProgressStepCanvas"></canvas> <div class="indicator"> <span id="nInd">0</span><span>/</span><span id="tInd"></span> </div> <div class="paging" id="paging"> <button class="arrow left" id="arrowL"> <svg width="60px" height="80px" viewBox="0 0 50 80" xml:space="preserve"> <polyline fill="none" stroke="#78766c" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" points=" 45.63,75.8 0.375,38.087 45.63,0.375 "/> </svg> </button> <button class="arrow right" id="arrowR"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="60px" height="80px" viewBox="0 0 50 80" xml:space="preserve"> <polyline fill="none" stroke="#78766c" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" points=" 0.375,0.375 45.63,38.087 0.375,75.8 "/> </svg> </button> </div> </div> </div> </div> <script src='//production-assets.codepen.io/assets/common/stopExecutionOnTimeout-b2a7b3fe212eaa732349046d8416e00a9dec26eb7fd347590fbced3ab38af52e.js'></script><script src='https://cdnjs.cloudflare.com/ajax/libs/dat-gui/0.6.5/dat.gui.min.js'></script><script src='https://code.createjs.com/easeljs-0.8.1.min.js'></script><script src='//cdnjs.cloudflare.com/ajax/libs/gsap/1.18.0/TweenMax.min.js'></script><script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-183/CircularProgressStep.js'></script> <script >(function () { var canvasElem = document.getElementById("circularProgressStepCanvas"); var totalInd = document.getElementById("tInd"); var nowInd = document.getElementById("nInd"); var wrap = document.getElementById("progressWrapper"); var paging = document.getElementById("paging"); var arrowL = document.getElementById("arrowL"); var arrowR = document.getElementById("arrowR"); var textTween = {value:0}; window.addEventListener("resize", resizeHandler); arrowR.addEventListener("click", goNext); arrowL.addEventListener("click", goPrev); var Controls = function() { this.mouseEnabled = true; this.steps = 10; this.emptyColor = "#393939" this.fillColor = "#FF592F" this.emptyStroke = 3; this.fillStroke = 4; this.dotRadius = 8; this.reset = function(){ circular.reset(); } }; var settings = new Controls(); var themes = {dotsNum:settings.steps, dotRadius:settings.dotRadius, mouseInteraction:settings.mouseEnabled, stepCallback:onStep, emptyColor:settings.emptyColor, fillColor:settings.fillColor, emptyStroke:settings.emptyStroke, fillStroke:settings.fillStroke, dotRadius:settings.dotRadius}; circular = new CircularProgressStep(canvasElem); circular.setup(themes); // var gui = new dat.GUI(); gui.add(settings, 'mouseEnabled').onChange( onMouseEnabledChanged ); gui.add(settings, 'steps', 1, 20).step(1).onChange( onSettingsChanged ); gui.add(settings, "emptyStroke").onChange( onSettingsChanged ); gui.add(settings, "fillStroke").onChange( onSettingsChanged ); gui.add(settings, "dotRadius").onChange( onSettingsChanged ); gui.addColor(settings, "emptyColor").onChange( onSettingsChanged ); gui.addColor(settings, "fillColor").onChange( onSettingsChanged ); gui.add(settings, "reset"); // setIndicatorTexts(); function onMouseEnabledChanged(){ circular.mouseEnabled(settings.mouseEnabled); settings.mouseEnabled ? paging.style.display = "none" : paging.style.display = "block"; } function onSettingsChanged(){ circular.setup({dotsNum:settings.steps, emptyColor:settings.emptyColor, fillColor:settings.fillColor, emptyStroke:settings.emptyStroke, fillStroke:settings.fillStroke, dotRadius:settings.dotRadius}); setIndicatorTexts(); } function setIndicatorTexts(){ totalInd.innerText = totalInd.textContent = settings.steps + ""; } function onStep(step){ //tween indicator value var time = circular.duration * (Math.abs(textTween.value - step)); TweenMax.to(textTween, time, {value:step, ease:Power2.easeInOut, onUpdate:function(){ nowInd.innerText = nowInd.textContent = parseInt(textTween.value) + ""; }}) } var prevWidth = 0; function resizeHandler(){ if(wrap.offsetWidth != prevWidth){ //empty to change nothing circular.setup(); } prevWidth = wrap.offsetWidth; } function goNext(e){ circular.next(); } function goPrev(e){ circular.prev(); } }()); //# sourceURL=pen.js </script> </body></html>

Related: See More


Questions / Comments: