Cara Memasang Widget "Pencarian Text" di Blog.

Cara Memasang Widget "Pencarian Text" di Blog.
Posted by 000
Your Ads Here

Find Text Icon PngAlhamdulillah, 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 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
Your Ads Here

Your Ads Here

Your Ads Here

Your Ads Here

Newer Posts Newer Posts Older Posts Older Posts

Related Posts

Your Ads Here

Comments

Post a Comment