Toggle navigation
Sign Up
Log In
Explore
Works
Folders
Tools
Collections
Artists
Groups
Groups
Topics
Tasks
Tasks
Jobs
Teams
Jobs
Recommendation
More Effects...
JS
/* I didn't write the JS, the script is from here: * http://joncom.be/code/css-clocks/ */ var oClockAnalog = { aSecond: [], dtDate: new Date(), iCurrSecond: -1, iHourRotation: -1, iMinuteRotation: -1, iStepSize: 10, iTimerAnimate: setInterval("oClockAnalog.fAnimate()", 20), iTimerUpdate: setInterval("oClockAnalog.fUpdate()", 1000), fAnimate: function() { if (this.aSecond.length > 0) { this.fRotate("analogsecond", this.aSecond[0]); this.aSecond = this.aSecond.slice(1); } }, fGetHour: function() { var iHours = this.dtDate.getHours(); if (iHours > 11) { iHours -= 12; } return Math.round((this.dtDate.getHours() * 30) + (this.dtDate.getMinutes() / 2) + (this.dtDate.getSeconds() / 120)); }, fGetMinute: function() { return Math.round((this.dtDate.getMinutes() * 6) + (this.dtDate.getSeconds() / 10)); }, fInit: function() { this.iHourRotation = this.fGetHour(); this.fRotate("analoghour", this.iHourRotation); this.iMinuteRotation = this.fGetMinute(); this.fRotate("analogminute", this.iMinuteRotation); this.iCurrSecond = this.dtDate.getSeconds(); this.fRotate("analogsecond", (6 * this.iCurrSecond)); }, fRotate: function(sID, iDeg) { var sCSS = ("rotate(" + iDeg + "deg)"); $("#" + sID).css({ '-moz-transform': sCSS, '-o-transform': sCSS, '-webkit-transform': sCSS }); }, fStepSize: function(iTo, iFrom) { var iAnimDiff = (iFrom - iTo); if (iAnimDiff > 0) { iAnimDiff -= 360; } return iAnimDiff / this.iStepSize; }, fUpdate: function() { // update time this.dtDate = new Date(); // hours var iTemp = this.fGetHour(); if (this.iHourRotation != iTemp) { this.iHourRotation = iTemp; this.fRotate("analoghour", iTemp); } // minutes iTemp = this.fGetMinute(); if (this.iMinuteRotation != iTemp) { this.iMinuteRotation = iTemp; this.fRotate("analogminute", iTemp); } // seconds if (this.iCurrSecond != this.dtDate.getSeconds()) { var iRotateFrom = (6 * this.iCurrSecond); this.iCurrSecond = this.dtDate.getSeconds(); var iRotateTo = (6 * this.iCurrSecond); // push steps into array var iDiff = this.fStepSize(iRotateTo, iRotateFrom); for (var i = 0; i < this.iStepSize; i++) { iRotateFrom -= iDiff; this.aSecond.push(Math.round(iRotateFrom)); } } } }; ClockInit();
CSS
@import url(http://fonts.googleapis.com/css?family=Orbitron:400,900,700); body { background-color: #272727; padding: 0; margin: 0; box-sizing: border-box; } .wrapperloading { position: absolute; height: 200px; width: 210px; top: 50%; margin-top: -100px; left: 50%; margin-left: -100px; } .wrapperloading .text { width:100%; text-align:center; color:white; font-size:2em; font-family: 'Orbitron', sans-serif; text-shadow: -3px 3px 0 rgba(150,150,150,0.1); -webkit-transform: rotateX(20deg); -webkit-animation: hide 1s linear infinite; -moz-animation: hide 1s linear infinite; -o-animation: hide 1s linear infinite; animation: hide 1s linear infinite; } .wrapperloading .inner { width:200px; height:100%; -webkit-transform: rotateX(60deg); -moz-transform: rotateX(60deg); -o-transform: rotateX(60deg); transform: rotateX(60deg); margin-top:-30px; } .wrapperloading .loading.up { position: absolute; height: 100%; width: 100%; border-radius: 150px; border: 5px solid #fff; border-top-color: #fff; border-left-color: #555; border-right-color: #555; border-bottom-color: #fff; -webkit-animation: rotation 2s ease infinite; -moz-animation: rotation 2s ease infinite; -o-animation: rotation 2s ease infinite; animation: rotation 2s ease infinite; } .wrapperloading .loading.down { position: absolute; height: 50%; width: 50%; top: 50%; margin-top: -50px; left: 50%; margin-left: -50px; border-radius: 150px; border: 3px solid #fff; border-left-color: #fff; border-top-color: #555; border-bottom-color: #555; border-right-color: #fff; -webkit-animation: rotation 2s ease infinite reverse; -moz-animation: rotation 2s ease infinite reverse; -o-animation: rotation 2s ease infinite reverse; animation: rotation 2s ease infinite reverse; } @-webkit-keyframes rotation { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @-moz-keyframes rotation { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @-o-keyframes rotation { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes rotation { 0% { -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); -o-transform: rotate(0deg); transform: rotate(0deg); } 50% { -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); } 100% { -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes hide { 0% { opacity: 1; } 50% { opacity: 0.1; } 100% { opacity: 1; } } @-webkit-keyframes hide { 0% { opacity: 1; } 50% { opacity: 0.1; } 100% { opacity: 1; } } @-moz-keyframes hide { 0% { opacity: 1; } 50% { opacity: 0.1; } 100% { opacity: 1; } } @-o-keyframes hide { 0% { opacity: 1; } 50% { opacity: 0.1; } 100% { opacity: 1; } }
HTML
LOADING
Join Effecthub.com
Working with Global Gaming Artists and Developers!
Login
Sign Up
Or Login with Your Email Address:
Email
Password
Remember
Or Sign Up with Your Email Address:
Your Email
This field must contain a valid email
Set Password
Password should be at least 1 character
Stay informed via email