"url shortener"
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/WhoisJamesMyers/pen/zBQmYw?depth=everything&order=popularity&page=2&q=shortener&show_forks=false" /> <link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.min.css'><link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css'> <style class="cp-pen-styles">@keyframes load { 0% { transform: perspective(120px) rotateX(0deg) rotateY(0deg); -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg) } 50% { transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg) } 100% { transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } } body, html { height: 100%; } body { display: flex; flex-direction: column; align-items: center; justify-content: center; background: #0b8261; } form { display: flex-item; } button, input { border: 0px; outline: 0px; } input { width: 250px; height: 50px; transition: width 1s; background: #ddd; color: rgba(0, 0, 0, 1); padding: 6px 0px 6px 15px; } button { height: 62px; background-color: #d33222; color: #fff; padding: 6px 15px 6px 15px; } form.short button { padding: 6px 15px 6px 15px; } form.short input { transition: width 0.5s ease-in, background-color 0.25s, color 0.25s; width: 0px; padding: 6px 0px 6px 0px; background-color: #d33222; color: rgba(0, 0, 0, 0); } form.short button > i { position: relative; } .load { animation: load 1000ms linear infinite; }</style></head><body> <body> <form id="searchForm"> <input type="text"/ value="http://google.ca"><button><i class="fa fa-search" aria-hidden="true"></i> </button> </form> </body> <script src='//production-assets.codepen.io/assets/common/stopExecutionOnTimeout-b2a7b3fe212eaa732349046d8416e00a9dec26eb7fd347590fbced3ab38af52e.js'></script> <script >const searchInput = document.querySelector("#searchForm input"); const searchButton = document.querySelector("#searchForm button"); const searchButtonText = document.querySelector("#searchForm > button > i"); const searchForm = document.querySelector("#searchForm"); const transitionEnd = ('WebkitTransition' in document.documentElement.style) ? 'webkitTransitionEnd' : 'transitionend' var longUrl = searchInput.value; var shortUrl = 'http://gg.le'; let submitFunction = function(e) { e.preventDefault(); searchForm.classList.add("short") } let completedHandler = function(e) { if (e.propertyName === "width" && searchInput.value != shortUrl) { searchButton.classList.add("load") console.log(e); searchButtonText.style.color = 'rgba(255,255,255,0)'; searchButtonText.style.color = 'rgba(255,255,255,1)'; setTimeout(revertForm, 2500); } } let revertForm = function() { searchForm.classList.remove("short"); searchButton.classList.remove("load") searchButtonText.classList.remove("fa-search"); searchButtonText.classList.add("fa-clipboard"); searchInput.value = shortUrl; searchInput.style.width = ((shortUrl.length) * 8) + 'px'; searchButtonText.style.color = 'rgba(255,255,255,0)'; searchButtonText.style.color = 'rgba(255,255,255,1)'; searchButton.disabled = true; searchInput.disabled = true; } searchButton.addEventListener("click", submitFunction, false); searchInput.addEventListener(transitionEnd, completedHandler); //# sourceURL=pen.js </script> </body></html>

Related: See More


Questions / Comments: