Showing posts with label Jquery. Show all posts
Showing posts with label Jquery. Show all posts

Saturday, January 14, 2017

Animated Sticky Header + Navigation


Hallo guys.. Kali ini saya akan membagikan tutorial yg ciamik banget.. Top pokoknya..
Langsung aja..
Tambahkan link CSS berikut di atas </head>
Pastikan Blog sobat terpasang Jquery yg terbaru
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js">

Google Font
<link href="https://fonts.googleapis.com/css?family=Lobster" rel="stylesheet"/>

Jquery Animated Sticky Header Markup

Kita akan membuat 2 menu yang berbeda. Yang pertama akan tetap dengan header dan akan terlihat menyatu dengan header dan menu itu sendiri.
<!-- [ Normal Navbar ] -->
<nav class="top">
<a href="/" class="logo">Dark Poseidon</a>
<ul>
<li><a href="#">Design</a></li>
<li><a href="#">Creative</a></li>
<li><a href="#">Office</a></li>
<li><a href="#">Dream</a></li>
</ul>
</nav>

Ketika halaman di scroll, Normal Header akan digantikan oleh Sticky Header.
<!-- [ Sticky Navbar ] -->
<nav class="top fixed">
<a href="#" class="logo">D</a>
<ul>
<ul>
<li><a href="#">Design</a></li>
<li><a href="#">Creative</a></li>
<li><a href="#">Office</a></li>
<li><a href="#">Dream</a></li>
</ul>
</ul>
</nav>

Styling

Pertama-tama kita akan melakukan beberapa perubahan dasar pada logo kita. Kita mempunyai 2 logo yg berbeda, logo untuk yang standard dan sticky header.
/* normal navbar */
nav.top {
  position: fixed;
  top: 0;
  width: 100%;
  height: 70px;
  z-index: 99;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 420ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: -webkit-transform 420ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 420ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 420ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 420ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* Fixed Navbar*/
.scrolled nav.top {
  -webkit-transform: translate3d(0, -70px, 0);
  transform: translate3d(0, -70px, 0);
}

.top.fixed > ul {
  margin: 0 0px 0 0;
}

nav.top.fixed {
  -webkit-transform: translate3d(0, -80px, 0);
  transform: translate3d(0, -80px, 0);
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.09804) 0px 2px 4px;
}

.scrolled nav.top.fixed {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

nav.top.fixed ul a {
  color: #404B55;
}

nav .logo {
  color: #fff;
  float: left;
  font-family: "Lobster", cursive;
  font-size: 25px;
  height: 42px;
  margin: 20px 0 0 20px;
}

.top.fixed > .logo {
  background: #0091de none repeat scroll 0 0;
  border-radius: 50%;
  color: #fff;
  float: left;
  font-family: "Lobster", cursive;
  font-size: 40px;
  height: 52px;
  margin: 10px 0 0 20px;
  padding: 0;
  text-align: center;
  width: 52px;
}

Style untuk menu
/* menu style */

nav.top ul {
  list-style-type: none;
  margin: 0 20px 0 0;
  padding: 0;
  float: right;
  line-height: 4.375rem;
}

nav.top ul li {
  display: inline-block;
}

nav.top ul li a {
  color: #fff;
  text-decoration: none;
  display: inline-block;
  font-size: .9375rem;
  font-weight: 700;
  margin-left: 9px;
  position: relative;
  cursor: pointer;
  line-height: 1em;
  padding: 8px 7px 9px;
  border-radius: 5px;
}

nav.top ul li a:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);
}

Menambahkan Fungsi JavaScript

<script type='text/javascript'>
//<![CDATA[
$( document ).ready(function() {
var $body = $(document.body);
var _SCROLL_FIXED_CUTOFF = _SCROLL_FIXED_CUTOFF || ($(window).height() >= 825 ? 300 : 75),
_HEADER_HEIGHT = _HEADER_HEIGHT || 825;
$(window).scroll(function(e) {
if ($('nav.top[data-no-scroll]').length)
return;
if (this.pageYOffset >= _SCROLL_FIXED_CUTOFF && !$body.hasClass('scrolled')) {
$body.addClass('scrolled');
} else if (this.pageYOffset < _SCROLL_FIXED_CUTOFF && $body.hasClass('scrolled')) {
$body.removeClass('scrolled');
}
if (this.pageYOffset >= _HEADER_HEIGHT) {
_header_carousel_active = false;
} else {
_header_carousel_active = true;
}
});
});
//]]>
</script>

Konfigurasi
OpsiKeterangan
Nama SobatGanti Dark Poseidon dengan nama blog anda
LinkGanti # pada kode diatas dengan link yang sobat tuju

Result

See the Pen dNXwmo by Dedi Juniardi N (@dedijuniardi) on CodePen.

Tuesday, March 10, 2015

Scroll Hide Nav (jQuery)


Scroll Hide Nav | Kali ini saya akan membagikan menu yang cukup menarik juga.

Berikut Langkah-langkahnya :


1. Pastikan template anda terdapat jQuery. Jika belum tambahkan kode di bawah ini tepat diatas kode </head>
<script src='//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'/>

2. Tambahkan CSS dibawah ini tepat di bawah kode <style>
nav#menu{display:block;background:#eee;margin:0;font-size:0;border:1px solid #eaeaea;border-top:none;position:fixed;width:100%}
.menu{display:block;margin:0;padding:0 0 0 20px}
.menu .home a{background:#4791d2;color:#fff!important}
.menu.home a:hover{background:#4f9adb}
.menu li{display:inline-block;position:relative;margin:0}
.menu li a{font-family:'font-size:14px;font-weight:400;text-decoration:none;padding:20px 15px;display:block;color:#888;transition:all .5s ease;font-style:normal}
.menu li a:hover,.menu li:hover{background:#4791d2;color:#fff}
.menu ul{display:none;margin:0;padding:0;width:100%;min-width:160px;position:fixed;left:0;background:#f9f9f9;z-index:99;transition:all .5s ease}
.menu ul li{display:block;float:none;margin:0;padding:0}
.menu ul li a{font-size:12px;font-weight:700;display:block;background:#333;color:#fff;transition:all .3s ease-out}
.menu ul li a:hover,.menu ul li:hover > a{background:#4791d2;color:#fff}
ul.menu > li > a > i{margin-right:5px;font-weight:400}
ul.menu > li > a:hover > i,ul.menu > li:hover > a > i{color:#fff}
.menu li:hover > ul{display:block}
.menu ul ul{left:160px;top:0;display:none;transition:all .5s ease}
.menu li > ul ul:hover{display:block}
.responsive-menu{display:none;padding:20px 15px;background:#fff;color:#aaa;text-transform:uppercase;font-weight:400;font-family:'font-size:16px}
.responsive-menu a{color:#aaa}
li{list-style:none!important}
@media only screen and (max-width:640px) {
.menu .searchbutton{display:none}
.menu{display:none;padding:0}
a#resp-menu{color:#aaa}
.responsive-menu{display:block}
nav{margin:0;background:none}
.menu li{display:block;margin:0}
.menu li a{background:#f9f9f9;color:#666}
.menu ul{visibility:hidden;opacity:0;top:0;left:0;width:100%;transform:initial}
.menu li:hover > ul{visibility:visible;opacity:1;position:relative;transform:initial}
.menu ul ul{left:0;transform:initial}
.menu li>ul ul:hover{transform:initial}
}

3. Tambahkan kode di bawah ini tepat dibawah kode outer-wrapper setiap blog berbeda-beda (kalau tidak tau silahkan berkomentar nanti saya akan kasi tau)
<nav id='menu' itemscope='itemscope' itemtype='http://schema.org/SiteNavigationElement' role='navigation'>
<a class='responsive-menu' href='#' id='resp-menu'><i class='fa fa-reorder'/> Menu</a>
<ul class='menu'>
    <li class='home'><a href='#'>Home</a></li>
    <li><a href='#'>Contact</a></li>
    <li><a href='#' title='Privacy Policy'>Privacy Policy</a></li>
    <li><a href='#'>Link Exchange</a></li>
    <li><a href='#' title='Off Topic Page'>Off Topic</a></li>
</ul>
</nav>

4. Tambahkan Javascript diatas kode </body>
<script type='text/javascript'>
//<![CDATA[
$(function(){
  var prevScroll = 0,
      curDir = 'down',
      prevDir = 'up';
  $(window).scroll(function(){
        if($(this).scrollTop() >= prevScroll){
          curDir = 'down';
          if(curDir != prevDir){
          $('#menu').stop();
              $('#menu').animate({ top: '-60px' }, 300);
          prevDir = curDir;
          }
      } else {
          curDir = 'up';
          if(curDir != prevDir){
          $('#menu').stop();
          $('#menu').animate({ top: '0px' }, 300);
          prevDir = curDir;
          }
      }
      prevScroll = $(this).scrollTop();
  });
})

//Main Menu
$(document).ready(function(){var e=$("#resp-menu");var t=$(".menu");$(e).on("click",function(e){e.preventDefault();t.slideToggle()});$(window).resize(function(){var e=$(window).width();if(e>767&&t.is(":hidden")){t.removeAttr("style")}})})
//]]>
</script>