Kang Rian
4
Kang Rian
5/01/2014 12:56:00 PM
Cara Memasang Widget "Pencarian Text" di Blog.
Cara Memasang Widget "Pencarian Text" di Blog.
Alhamdulillah, hari ini saya masih diberi kesempatan untuk berbagi lagi. Tutorial yang akan saya bagikan kali ini yaitu sebuah widget berbentuk form pencarian khusus pada sebuah halaman yang memiliki tulisan yang banyak. Fungsi dari pada widget ini sama dengan tool "Find Text" pada browser dengan menggunakan shortcut
Untuk Demo nya silahkan coba ketikan "Blog" pada form Pencarian Text di bawah ini :
2. Jika jQuery Library sudah terpasang, silahkan simpan kode CSS dibawah ini tepat sebelum tag
3. Setelah menyimpan kode CSS, sekarang tinggal menyimpan kode JavaScript dibawah ini tepat sebelum tag
4. Terakhir, Simpan kode HTML di bawah ini pada area sidebar widget weblog anda :
Berikut contoh-nya :
Happy blogging,
- Kang Rian -
CTRL + F
pada keyboard. Namun kali ini kita akan membuat widget-nya dengan menggunakan bumbu HTML, CSS, & Jquery/Javascript.Untuk Demo nya silahkan coba ketikan "Blog" pada form Pencarian Text di bawah ini :
Cara Pemasangan:
1. Pastikan sobat sudah memasang jQuery Library! jika sobat belum memasang jQuery Library, silahkan simpan kode di bawah ini tepat di atas tag</head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"/>
Catatan Penting! : Pemasangan jQuery dalam Blog hanya boleh 1x saja, jika lebih dari 1 maka Efek-efek yang mengandalkan fungsi jQuery tidak akan berfungsi.
2. Jika jQuery Library sudah terpasang, silahkan simpan kode CSS dibawah ini tepat sebelum tag
</head>
( Silahkan Kreasikan Sendiri ).<style>
/* CSS - Widget Find Text on this page! */
.kr-text-finder {
position:relative;
background-color:#f2f2f2;
border:5px solid #f2f2f2;
-webkit-box-shadow:0px 4px 0px #ccc;
-moz-box-shadow:0px 4px 0px #ccc;
-ms-box-shadow:0px 4px 0px #ccc;
-o-box-shadow:0px 4px 0px #ccc;
box-shadow:0px 4px 0px #ccc;
-webkit-border-radius:5px;
-moz-border-radius:5px;
-ms-border-radius:5px;
-o-border-radius:5px;
border-radius:5px;
padding:5px 6px;
}
/* Highlighter Style */
.kr-highlight {
background-color:yellow;
font-weight:bold;
}
/* Input Style */
input.find-form {border:1px solid #ccc;padding:3px;outline:0px;width:200px;}
input.find-form:focus { border:1px solid #ccc;box-shadow:0px 0px 3px 5px #fafafa; background:#444;color:#fff; }
/* kr-button */
.kr-button { display:inline-block; text-decoration:none; outline:none; padding:6px 11px; font:normal 11px/1em "Lucida Grande", Verdana, Arial, "Bitstream Vera Sans", sans-serif; color:#464646; background:#fff; background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(#f1f1f1)); background:-moz-linear-gradient(top, #fff, #f1f1f1); border:1px solid #bbb; -webkit-border-radius:11px; -moz-border-radius:11px; border-radius:11px;}
.kr-button:hover,
.kr-button:focus { color:#000; border-color:#666;}
.kr-button:active { background:#eee; background:-webkit-gradient(linear, left top, left bottom, from(#ededed), to(#fbfbfb)); background:-moz-linear-gradient(top, #ededed, #fbfbfb); color:#000; border-color:#666;}
</style>
3. Setelah menyimpan kode CSS, sekarang tinggal menyimpan kode JavaScript dibawah ini tepat sebelum tag
</body>
<script type='text/javascript'>
// JavaScript - Widget Find Text on this page!
//<![CDATA[
jQuery.fn.highlight = function (pat) {
function innerHighlight(node, pat) {
var skip = 0;
if (node.nodeType == 3) {
var pos = node.data.toUpperCase().indexOf(pat);
if (pos >= 0) {
var spannode = document.createElement('span');
spannode.className = 'kr-highlight';
var middlebit = node.splitText(pos);
var endbit = middlebit.splitText(pat.length);
var middleclone = middlebit.cloneNode(true);
spannode.appendChild(middleclone);
middlebit.parentNode.replaceChild(spannode, middlebit);
skip = 1;
}
} else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
for (var i = 0; i < node.childNodes.length; ++i) {
i += innerHighlight(node.childNodes[i], pat);
}
}
return skip;
}
return this.length && pat && pat.length ? this.each(function () {
innerHighlight(this, pat.toUpperCase());
}) : this;
};
jQuery.fn.removeHighlight = function () {
return this.find("span.kr-highlight").each(function () {
this.parentNode.firstChild.nodeName;
with(this.parentNode) {
replaceChild(this.firstChild, this);
normalize();
}
}).end();
};
/* end plugin */
var $finder = $('#text-finder'),
$field = $finder.children().first(),
$clear = $field.next(),
$area = $(document.body),
$viewport = $('html, body');
$field.on("keyup", function () {
$area.removeHighlight().highlight(this.value); // Highlight text inside `$area` on keyup
$viewport.scrollTop($area.find('span.kr-highlight').first().offset().top - 50); // Jump the viewport to the first highlighted term
});
$clear.on("click", function () {
$area.removeHighlight(); // Remove all highlight inside `$area`
$field.val('').trigger("focus"); // Clear the search field
$viewport.scrollTop(0); // Jump the viewport to the top
return false;
});
//]]>
</script>
4. Terakhir, Simpan kode HTML di bawah ini pada area sidebar widget weblog anda :
<form id="text-finder" class="kr-text-finder" action="javascript:;"><input type="text" placeholder="Find text on this page.." class="find-form" /><input type="reset" value="Clear" class="kr-button"/></form>
Berikut contoh-nya :
Semoga Bermanfaat
Mohon maaf jika ada salah kata dalam penjelasan, terima kasih telah membaca tutorial tentang Cara Memasang Widget "Pencarian Text" di Blog., jika ada yang ingin ditanyakan silahkan tanyakan pada form komentar di bawah ini. :)Happy blogging,
- Kang Rian -
Sumber kode : Johann Burkard & DTE
Kang Rian Ikuti
Web & Graphic Designer - Berpengalaman sejak 2010, fokus membantu Perusahaan / UMKM agar dikenal secara Global melalui Website Profesional & Desain yg Menjual.
Cek. Jasa-Design.web.id
amankan pertamax :ngacir
BalasHapuswuih, ngebut banget! :ngakak
Hapusmaklum gan, kebiasaan :cool
Hapusini kan sama aja kayak fungsi search ya kang ??
yap. betul sob :D
Hapuskalo bisa gantikan fitur pencarian browser kang.
BalasHapusmaksud nya gimana sob? :)
HapusSeperti ini kang
Hapus[img]https://lh5.googleusercontent.com/-VWYSzH0BMSY/U2IQZX_EbfI/AAAAAAAAANo/jvW5bueDtZc/Capture.PNG[/img]
untuk penempatan / posisi bisa saja kang di css, namun untuk script mengalihkan fungsi shortcut bawaan browser "CTRL+F" dengan javascript/jquery itu saya belum nyoba. :D
Hapusbisa dipadukan dengan javascript event keyboard. :D
Hapusbetul sob, barusan sempet googling cari yg ngelink ke stackoverflow namun "not found" :bingung .. hehe
Hapuspuwas siah "not found" hehehe :capedeh
Hapusitu geura? datang2 jol mupuas .. :mewek *baong beben. :sorry
Hapuskunanon attu kang beben teh, tanggung jawab tah Kang Rian :mewek hehe
HapusKayak di DTE gitu ya, bisa diganti CTRL + F dan di modifikasi, cari yang kayak gitu belum nemu sampai saat ini. Dapat dari mana tuh DTE hehe
[gplus-id]107577168276378903527[gplus-nama]+Kang Mousir[/gplus] iya kang mousir, nanti saya coba buatkan. :D , lagi intip2 source nya om tovic nih akhir-akhir ini :D . hehe emang top markotop om tovic. hehe
BalasHapusmantep nih kang langsung :ngacir
BalasHapus
BalasHapus:2thumbup saya sukaaaa templatenya mas....
template kang ismet yang mana ni mas???
Jadi lebih menarik, ijin coba Kang :)
BalasHapusBasic'nya keren juga nih pakai highlight, gak kepikiran sampai sini..
BalasHapushehe, sepertinya memang belum sempet di pikirin deh mba dian :D .
HapusSetelah di coba fungsinya sama dengan ajax search dari sumbernya, DTE :] kalau yg ini menggunakan event trigger dan Highlight
Hapusyap betul sekali mba. :D
Hapus:thumbup
BalasHapus