Saturday, October 27, 2012

Konsep Kotak Pencarian Tersembunyi di dalam Header

Auto Hide Search Form Inside Header

HTML

<header id='site-header'>
    <div class='inner'>
        <h1><a href='/'>Site Name</a></h1>
        <p>Lorem ipsum dolor sit amet...</p>
    </div>
    <div class='inner hidden'>
        <form action='/search' method='get'>
            <input type='text' name='q' placeholder='Search...'>
        </form>
    </div>
</header>

CSS

#site-header {
  background-color:#6A2E79;
  overflow:hidden;
  text-shadow:0 1px 0 rgba(0,0,0,.1);
  margin:0 0 20px;
  position:relative;
}

#site-header .inner {padding:20px 30px}

#site-header a {
  text-decoration:none;
  color:white;
}

#site-header a:hover {color:#E0FFED}

#site-header h1 {
  font-size:30px;
  text-transform:uppercase;
}

#site-header p {margin:10px 0 0}

#site-header form input {
  border:1px solid #743983;
  background-color:#3B2440;
  font:normal normal 12px Verdana,Arial,Sans-Serif;
  color:#95799B;
  padding:5px 5px;
  margin:0 auto;
  display:block;
  width:98%;
  -webkit-box-shadow:inset 0 1px 3px black;
  -moz-box-shadow:inset 0 1px 3px black;
  box-shadow:inset 0 1px 3px black;
}

#site-header .toggle-button {
  display:block;
  font-weight:bold;
  padding:10px 18px;
  text-align:right;
  border-top:1px solid #5D216C;
}

.hidden {display:none}

jQuery

$(function() {
    var $header = $('#site-header'),
        $panel = $header.find('.inner');
    // Insert a toggle button
    $header.append('<span class="toggle-button"><a href="/">Search</a></span>');
    // Click the toggle button to slide the panel
    $header.find('.toggle-button a').on("click", function() {
        if ($(this).html() == 'Search') {
            $(this).html('&times;');
        } else {
            $(this).html('Search');
        }
        $panel.slideToggle('slow');
        return false;
    });
});

Lihat Demo

Labels: , , ,

38 Comments:

At Saturday, October 27, 2012 at 9:09:00 PM GMT+7, Blogger kamu info said...

wew Nice info

 
At Saturday, October 27, 2012 at 9:53:00 PM GMT+7, Blogger Unknown said...

mas kenapa ide saya langsung di publish tanpa menjawab pertanyaan saya di comment????!

 
At Saturday, October 27, 2012 at 10:37:00 PM GMT+7, Blogger Beben Koben said...

koneksi saya jg lemot kok :D blog sy sdh ringan kok \o/
WOW fullstylish search :Q

 
At Sunday, October 28, 2012 at 12:31:00 AM GMT+7, Blogger Taufik Nurrohman said...

Oh, begitu ya. Maaf kalau mas khawatir artikel ini dikira merupakan ide Saya. Ambil saja nggak apa-apa. Karena pertanyaannya tidak sesuai topik jadi langsung Saya buatkan artikelnya supaya pertanyaan bisa dilanjut di bawah.

Permalink: /2011/08/tag-kondisional-tingkat-lanjut.html?showComment=1351330952194#c9024561926270975217

 
At Sunday, October 28, 2012 at 8:01:00 AM GMT+7, Blogger uki said...

wew...kayaknya cocok untuk proyek template baru saya :)

 
At Sunday, October 28, 2012 at 11:42:00 AM GMT+7, Anonymous Anonymous said...

wih keren, ini mirip blognya modification blog :D

 
At Sunday, October 28, 2012 at 11:44:00 PM GMT+7, Blogger Kang Kapuk said...

Kayak punya Om Dede...siiipppp.....

 
At Tuesday, October 30, 2012 at 1:01:00 PM GMT+7, Blogger Unknown said...

maaf mas, saya cuma tanya aja... ya, saya kira untuk membuat ini menggunakan tag kondisional... makasih mas udah buatkan langsung, makasih banyak, jadi ga repot, cuma nanti lain kali tolong jawab ya mas, walaupun cuma dengan link artikelnya... :-)
sekali lagi mohon maaf dan terimakasih banyak :-)

 
At Monday, November 5, 2012 at 8:30:00 AM GMT+7, Blogger Unknown said...

mas mohon jelaskan kembali untuk susunan HTML-nya, karena tidak bekerja di blog saya di http://go-blogtips.blogspot.com
terimakasih sebelumnya... :-)

 
At Monday, November 5, 2012 at 10:37:00 PM GMT+7, Blogger Taufik Nurrohman said...

Kalau masih memakai widget asli, mungkin markupnya harus dimodifikasi seperti ini:

<div id='header-wrapper'>
<b:section class='header inner' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Blog Tester (Header)' type='Header'/>
</b:section>
<div class='inner hidden'>
...
</div>
</div>


Lalu ubah nilai selektor $header menjadi #header-wrapper:

$header = $('#header-wrapper');

 
At Saturday, November 10, 2012 at 7:45:00 AM GMT+7, Blogger hanggarps said...

masih bingung mas aku :'(,mau meletakkan kode yang html dimana
yang css dimana dan yang jquery itu dimana
maklum masih newbie, mohon bimbingannya :yaya:
tips yang bagus mas :-bd

 
At Monday, November 19, 2012 at 6:28:00 PM GMT+7, Blogger Unknown said...

oke mas di coba deh, makasih ya udah dibuatin :-)

 
At Wednesday, December 12, 2012 at 6:18:00 AM GMT+7, Blogger Unknown said...

mas kalo bikin profil dan kontak kaya di blog ini sama ga sih mas kaya bikin search ini??

 
At Wednesday, December 12, 2012 at 10:56:00 AM GMT+7, Blogger Taufik Nurrohman said...

Sama. Cuma punya Saya lebih genit.

 
At Friday, December 14, 2012 at 11:43:00 PM GMT+7, Blogger Unknown said...

emh terus yang perlu diganti dari CSS-nya dbagian mananya mas??
terus form searchnya bisa langsung ganti aja gitu??

 
At Saturday, December 15, 2012 at 9:32:00 PM GMT+7, Blogger Unknown said...

mau nanya lagi mas, kalo tombolnya disatukan dengan menu gimana caranya mas?

 
At Saturday, December 15, 2012 at 9:37:00 PM GMT+7, Blogger Unknown said...

terus saya pengen pake ini di body mas, nah apa yang harus di ubah selain slector CSS-nya kalo saya mau simpen widgetnya tersembunyi di balik body?

 
At Tuesday, February 5, 2013 at 3:10:00 PM GMT+7, Blogger Unknown said...

gimana nih mas kalo di widget header bawaan
<header>
<div class='header-outer'>
<div class='header-cap-top cap-top'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
<div class='fauxborder-left header-fauxborder-left'>
<div class='fauxborder-right header-fauxborder-right'/>
<div class='region-inner header-inner'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='false' title='Last My Life (Header)' type='Header'/>
</b:section>
</div>
</div>
<div class='header-cap-bottom cap-bottom'>
<div class='cap-left'/>
<div class='cap-right'/>
</div>
</div>
</header>

 
At Wednesday, February 6, 2013 at 8:42:00 AM GMT+7, Blogger Taufik Nurrohman said...

Hapus semuanya. Ganti dengan ini:

<header id='site-header'>
<div class='inner'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='false' title='Last My Life (Header)' type='Header'/>
</b:section>
</div>
<div class='inner hidden'>
<form action='/search' method='get'>
<input type='text' name='q' placeholder='Search...'/>
</form>
</div>
</header>

 
At Wednesday, February 6, 2013 at 11:14:00 AM GMT+7, Blogger Unknown said...

gimana nih mas ko gak tampil tombol searchnya, mohon bantuannya
https://lh3.googleusercontent.com/-N_Hv7xuYr3s/URHX6wJ2ZnI/AAAAAAAAAHs/JFEaxUqnkjo/h52/Capture.PNG

 
At Thursday, February 7, 2013 at 9:23:00 AM GMT+7, Blogger Taufik Nurrohman said...

<style>
#site-header {
background-color:#6A2E79;
overflow:hidden;
text-shadow:0 1px 0 rgba(0,0,0,.1);
margin:0 0 20px;
position:relative;
}

#site-header .inner {padding:20px 30px}

#site-header a {
text-decoration:none;
color:white;
}

#site-header a:hover {color:#E0FFED}

#site-header h1 {
font-size:30px;
text-transform:uppercase;
}

#site-header p {margin:10px 0 0}

#site-header form input {
border:1px solid #743983;
background-color:#3B2440;
font:normal normal 12px Verdana,Arial,Sans-Serif;
color:#95799B;
padding:5px 5px;
margin:0 auto;
display:block;
width:98%;
-webkit-box-shadow:inset 0 1px 3px black;
-moz-box-shadow:inset 0 1px 3px black;
box-shadow:inset 0 1px 3px black;
}

#site-header .toggle-button {
display:block;
font-weight:bold;
padding:10px 18px;
text-align:right;
border-top:1px solid #5D216C;
}

.hidden {display:none}
</style>
<header id='site-header'>
<div class='inner'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='false' title='Last My Life (Header)' type='Header'/>
</b:section>
</div>
<div class='inner hidden'>
<form action='/search' method='get'>
<input type='text' name='q' placeholder='Search...'/>
</form>
</div>
</header>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js' type='text/javascript'></script>
<script>
//<![CDATA[
$(function() {
var $header = $('#site-header'),
$panel = $header.find('.inner');
// Insert a toggle button
$header.append('<span class="toggle-button"><a href="/">Search</a></span>');
// Click the toggle button to slide the panel
$header.find('.toggle-button a').on("click", function() {
if ($(this).html() == 'Search') {
$(this).html('&times;');
} else {
$(this).html('Search');
}
$panel.slideToggle('slow');
return false;
});
});
//]]>
</script>

 
At Tuesday, March 5, 2013 at 6:33:00 PM GMT+7, Blogger hanggarps said...

Bang Tau kuk ane selalu bingung yah ama artikel abang yang isinya sperti artikle ini
ini diletakkannya di html blog aku dimana yah setelah kode head kode body atau kodek b:skin
Mohon petunjuknya Bang

 
At Tuesday, March 5, 2013 at 8:59:00 PM GMT+7, Blogger Taufik Nurrohman said...

Artikel-artikel Code Snippet sebenarnya diperuntukkan untuk kalangan level menengah/menengah ke atas, yang sudah tidak perlu lagi diberitahu secara mendetail mengenai di sebelah mana kode-kode tersebut harus diletakkan dan bagaimana caranya masuk ke halaman editor HTML. Artikel kode snippet murni untuk pengembangan web secara global, bukan cuma untuk blogspot.

 
At Thursday, March 14, 2013 at 6:49:00 AM GMT+7, Blogger Unknown said...

Mas Taufik, kalau ingin membuat header-logo seperti punya sampeyan, caranya bagaimana? kok hanya dengan kode CSS bisa jadi tulisan DTE :] ? Trims.

 
At Thursday, March 14, 2013 at 12:12:00 PM GMT+7, Blogger Taufik Nurrohman said...

Itu cuma memakai border dan pseudo elemen. Kadang-kadang Saya suka menggambar menggunakan CSS. Ada di label Eksperimen

 
At Wednesday, March 20, 2013 at 12:03:00 PM GMT+7, Blogger Unknown said...

Makasih ya mas tutorialnya... Nyenengin banget. Oh ya, saya mau tanya lagi mas. Kalau membuat suatu element bergerak (memainkan margin) saat kita mengklik elemen lain bagaimana mas jquery-nya? Contohnya yang pas saya input di kotak search, kotak ribbon sampeyan bergerak ke kanan. Makasih mas.

 
At Wednesday, March 20, 2013 at 4:49:00 PM GMT+7, Blogger Taufik Nurrohman said...

Tidak ada kodenya. Tapi itu cuma memakai event .focus() dan .blur():

$('input').focus(function() { // Saat focus-in pada elemen input...
$('div').animate({marginLeft:20}, "slow");
}).blur(function() { // Saat focus-out dari elemen input...
$('div').animate({marginLeft:0}, "slow");
});

 
At Monday, April 1, 2013 at 2:09:00 PM GMT+7, Blogger Unknown said...

Mas Taufik, buatkan saya kode css logo header untuk huruf Z saja mas. saya kurang mengerti dengan pseudo element. Saya belum paham. Susah sekali buat huruf Z mas. Atau, mungkin mas taufik punya koleksi CSS huruf yyang bermain pseudo element seperti itu?

 
At Friday, April 26, 2013 at 4:53:00 AM GMT+7, Blogger budkalon said...

UWA!!! Akhirnya saya dapatkan kodenya!!! Terima kasih!! :D

 
At Sunday, June 30, 2013 at 4:02:00 PM GMT+7, Blogger Yusril Ibnu Maulana said...

tolong bantuanya :'(
saya ingin menyimpan tombol search nya di dalam kode ini

<nav class='clearfix'>
<ul class='clearfix'>
<li><a href='/'>Home</a></li>
<li><a href='/'>About</a></li>
<li><a href='/'>Archive</a></li>
<li><a href='/'>Comments</a></li>
<!-- inginnya tombol search disini -->
</ul>
<a href='#' id='pull'>Menu</a>
</nav>


dan HTML headernya seperti ini :


<header id='header-wrapper'>
<div class='inner'>
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Tutorial Plus (Header)' type='Header'>...
</b:section>
</div>
<div class='inner hidden'>
<form action='/search' method='get'>
<input name='q' placeholder='Search...' type='text'/>
</form>
</div>
</header>


saya sudah ubah js nya menjadi :

$(function() {
var $header = $('#site-header'),
$nav = $('nav ul'),
$panel = $header.find('.inner');
// Insert a toggle button
$nav.append('<li class="toggle-button"><a href="/">Search</a></li>');
// Click the toggle button to slide the panel
$nav.find('.toggle-button a').on("click", function() {
if ($(this).html() == 'Search') {
$(this).html('&times;');
} else {
$(this).html('Search');
}
$panel.slideToggle('slow');
return false;
});
});


naum tidak work :'(, bagaimana caranya ?
bisa di cek ke plustutorial[dot]blogspot.com
terimakasih...

 
At Sunday, June 30, 2013 at 4:03:00 PM GMT+7, Blogger Yusril Ibnu Maulana said...

This comment has been removed by the author.

 
At Sunday, June 30, 2013 at 4:13:00 PM GMT+7, Blogger Yusril Ibnu Maulana said...

Sudah solved hehe...,
ternyata js nya seharusnya begini..
$(function() {
var $header = $('#header-wrapper'),
$nav = $('nav ul'),
$panel = $header.find('.inner');
// Insert a toggle button
$nav.append('<li class="toggle-button"><a href="/">Search</a></li>');
// Click the toggle button to slide the panel
$nav.find('.toggle-button a').on("click", function() {
if ( $(this).html() == 'Search') {
$(this).html('&times;');
} else {
$(this).html('Search');
}
$panel.slideToggle('slow');
return false;
});
});

 
At Thursday, July 11, 2013 at 9:43:00 PM GMT+7, Blogger Sunandar said...

gan kalo postingannya ikut hide ga? jadi cuma muncul search doang.. please yah min salam http://nandarious.blogspot.com/

 
At Friday, July 12, 2013 at 3:40:00 AM GMT+7, Blogger Sinto said...

g lah

 
At Friday, October 11, 2013 at 1:20:00 PM GMT+7, Blogger mohan said...

tolong mas saya mau menghilangkan box kotak kosong sebelah kanan header bagai mana caranya, ini blog saya, cimall.blogspot.com

 
At Tuesday, May 27, 2014 at 2:49:00 AM GMT+7, Blogger Kujang Region said...

ass... pak itu klo mau nambahin timing saat di klik.. nambahin script apalagi..?? trs $panel.slideToggle('slow'); timming slow ganti dengan value gmn aturannya ??

 
At Saturday, May 31, 2014 at 8:54:00 PM GMT+7, Blogger Taufik Nurrohman said...

wass…

Diganti pakai angka saja. Ratusan atau ribuan. Coba cek sendiri hasilnya.

NB: ass itu artinya pantat :p

 
At Wednesday, December 5, 2018 at 9:57:00 PM GMT+7, Blogger syamsul said...

assalamualaikum mas, kalo mau menambahkan tittle bagaimana ?

 

Post a Comment

<< Home