HTML
HTMLです。nav-bgが円の部分になります。
<header id="top-head"> <div id="top-head-inner"> <h1 id="head-logo">Mobile Circle Navigation</h1> <div id="nav-toggle"> <div> <span></span> <span></span> <span></span> </div> </div> <nav id="global-nav"> <ul> <li><a href="#">HOME</a></li> <li><a href="#">PRODUCT</a></li> <li><a href="#">WORKS</a></li> <li><a href="#">COMPANY</a></li> <li><a href="#">CONTACT</a></li> </ul> </nav> <div id="nav-bg"></div> </div></header>JavaScript
jQueryはクラスの切り替えだけ使用します。
(function($) { $(function() { $('#nav-toggle').click(function(){ $('body').toggleClass('open'); }); });})(jQuery);CSS
円の部分はscaleでアニメーションしています。
小さいのを大きくすると輪郭がボケるので、最初の状態は大きくしてscaleで小さくしています。
ナビゲーション部分はdelayで表示を若干遅らせてます。
#nav-bg { content: ""; width: 2400px; height: 2400px; margin-right: -1200px; margin-top: -1200px; top: 40px; right: 40px; display: block; position: fixed; background: #17A669; -webkit-border-radius: 50%; border-radius: 50%; -webkit-transition: all .3s ease-out; transition: all .3s ease-out; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform: scale(.02); transform: scale(.02);}.open #nav-bg { -webkit-transform: scale(1); transform: scale(1); -webkit-transition: all .6s ease-out; transition: all .6s ease-out;}
/* nav-list */#global-nav ul li { opacity: 0; -webkit-transform: scaleX(0) translateX(-260px); transform: scaleX(0) translateX(-260px); -webkit-transition: none; transition: none;}.open #global-nav ul li { opacity: 1; -webkit-transform: scaleX(1) translateX(0); transform: scaleX(1) translateX(0); -webkit-transition: all .3s ease-out; transition: all .3s ease-out; -webkit-transition-delay: .1s; transition-delay: .1s;}


