Langsung ke konten utama

Floating Sidebar Widget

Sore All
Floating artinya mengambang dan Sticky artinya nempel/menempel sedangkan Sidebar tentu sobat sudah tahu artinya . Pada kesempatan ini saya akan share tutorial membuat Floating " Sticky " Sidebar , berarti widget sidebar akan terus mengikuti walaupun di scroll kebawah dan tutorial ini sebenarnya request dari sahabat.


Untuk demo sticky widget sidebar sobat bisa lihat  widget Subscribe pada homepage blog ini dan pemasangan trik ini cukup mudah 

Sobat pasang dulu widget subscribe pada blog sobat dan letakan pada bagian sidebar paling atas. Setelah itu sobat masuk pada Edit Template lalu cari kode </body> dan tempatkan kode dibawah ini tepat diatas kode </body> 

<script>
/*<![CDATA[*/
// Sticky Plugin
// =============
// Author: Syed Faizan Ali
(function($) {
    var defaults = {
            topSpacing: 0,
            bottomSpacing: 0,
            className: 'is-sticky',
            center: false
        },
        $window = $(window),
        $document = $(document),
        sticked = [],
        windowHeight = $window.height(),
        scroller = function() {
            var scrollTop = $window.scrollTop(),
                documentHeight = $document.height(),
                dwh = documentHeight - windowHeight,
                extra = (scrollTop > dwh) ? dwh - scrollTop : 0;
            for (var i = 0; i < sticked.length; i++) {
                var s = sticked[i],
                    elementTop = s.stickyWrapper.offset().top,
                    etse = elementTop - s.topSpacing - extra;
                if (scrollTop <= etse) {
                    if (s.currentTop !== null) {
                        s.stickyElement.css('position', '').css('top', '').removeClass(s.className);
                        s.currentTop = null;
                    }
                }
                else {
                    var newTop = documentHeight - s.elementHeight - s.topSpacing - s.bottomSpacing - scrollTop - extra;
                    if (newTop < 0) {
                        newTop = newTop + s.topSpacing;
                    } else {
                        newTop = s.topSpacing;
                    }
                    if (s.currentTop != newTop) {
                        s.stickyElement.css('position', 'fixed').css('top', newTop).addClass(s.className);
                        s.currentTop = newTop;
                    }
                }
            }
        },
        resizer = function() {
            windowHeight = $window.height();
        };
    // should be more efficient than using $window.scroll(scroller) and $window.resize(resizer):
    if (window.addEventListener) {
        window.addEventListener('scroll', scroller, false);
        window.addEventListener('resize', resizer, false);
    } else if (window.attachEvent) {
        window.attachEvent('onscroll', scroller);
        window.attachEvent('onresize', resizer);
    }
    $.fn.sticky = function(options) {
        var o = $.extend(defaults, options);
        return this.each(function() {
            var stickyElement = $(this);
            if (o.center)
                var centerElement = "margin-left:auto;margin-right:auto;";
            stickyId = stickyElement.attr('id');
            stickyElement
                .wrapAll('<div id="' + stickyId + 'StickyWrapper" style="' + centerElement + '"></div>')
                .css('width', stickyElement.width());
            var elementHeight = stickyElement.outerHeight(),
                stickyWrapper = stickyElement.parent();
            stickyWrapper
                .css('width', stickyElement.outerWidth())
                .css('height', elementHeight)
                .css('clear', stickyElement.css('clear'));
            sticked.push({
                topSpacing: o.topSpacing,
                bottomSpacing: o.bottomSpacing,
                stickyElement: stickyElement,
                currentTop: null,
                stickyWrapper: stickyWrapper,
                elementHeight: elementHeight,
                className: o.className
            });
        });
    };
})(jQuery);
/*]]>*/
</script>
<script type='text/javascript'>
   $(document).ready(function(){
    $("#mblfloater").sticky({topSpacing:0});
   });
 </script>

Langkah selanjutnya sobat cari nama ID widget subscribe yang telah dipasang tadi contohnya widget yang saya punya seperti ini

<b:widget id='HTML2' locked='false' title='' type='HTML'>
<b:includable id='main'>
<div id='mblfloater'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>  </div>
</b:includable>
   </b:widget> 

dan sobat ganti semua kodenya  dengan kode dibawah ini

<b:widget id='HTML32' locked='false' title='My Sticky Gadget' type='HTML'>
            <b:includable id='main'>
<div id='mblfloater'>
  <!-- only display title if it's non-empty -->
  <b:if cond='data:title != &quot;&quot;'>
    <h2 class='title'><data:title/></h2>
  </b:if>
  <div class='widget-content'>
    <data:content/>
  </div>  </div>
</b:includable>
          </b:widget>


NB : Kode HTML32 sobat ganti dengan ID widget subscribe sobat dan nama "My Sticky Gadget" sobat ganti sesuka sobat.

Save dan lihat hasilnya

Note : Widget Floating "Sticky" Sidebar ini jangan sobat pasang pada widget adsense , karena ini salah satu alasan akun adsense sobat akan di banned.

Komentar

  1. saya msh ndak paham nih... nyimak dulu sambil nunggu komentar yg lain

    BalasHapus
    Balasan
    1. ini mbak.. yang di sidebar blog ini.. kan subcrisbenya bisa jalan ngikutin scroll kebawah

      Hapus
    2. makasih miz telah menjelaskan hehe

      Hapus
  2. Naon ieuteh bro,asa lieur keneh,karek hudang euy heuheu

    BalasHapus
    Balasan
    1. artinya apa kang.. -__-

      Hapus
    2. apaan ini brow , masih pusing , maklum baru bangun oy ( translate )

      Hapus
  3. ini bagus sekaliiiiiiiii....
    saya cari -cari dan tanya ama orang pada pelit semua
    eh taunya di blog agan ada rupanya makasih ya gan... ini bagus buat iklan :D
    ..
    terimakasih banyak... :)

    #tiap hari mantau blog agan keren-keren tutornya :army

    BalasHapus
    Balasan
    1. ko pelit ya hehe
      tapi jangn buat iklan adsense bisa bisa di banned sob ..
      terimakasih kembali sobat

      Hapus
  4. wah sangat mantap dan berguna sekali sobat
    terima kasih sudah berbagi

    BalasHapus
    Balasan
    1. terimakasih sanjungannya mas jdi malu hixhix

      Hapus
  5. pertanyaanku ternyata terbalas lewat postingan lagi haha..

    banyak jga kodenya,, kirain cuma nambahin kode di widget .

    BalasHapus
    Balasan
    1. udah dua postingan idenya dari pertanyaan miz tia terus hehe
      tapi gak bakalan berat ko blognya .. lagian juga gampang masangnya miz

      Hapus
  6. wah keren nih layak dicoba, thank mas udah berbagi

    maap nembe bisa blogging hehheeee

    BalasHapus
    Balasan
    1. silahkan kang .. apalagi masangnya sambil ngabajigur matapzzzz kang ..
      sumpah kang saya mah lagi ngabakar ikan hiu hehe

      Hapus
  7. mantap sekali artikel nya sob,,,saya nyari2 yang kayak gini emank
    kunjungi juga blog saya
    disini sob!!

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Membuat Menu Dengan CSS Border Animation

Setelah beberapa waktu lalu selalu membuat postingan dengan konsep blogazine sebagai ajang pelepas suntuk dan sebagai trick menghindari kejenuhan dalam blogging saat ini saya akan coba share kebiasaan lama yaitu tutorial dalam membuat menu navigasi. Kali menu yang ditawarkan sangat-sangatlah simple , hanya memanfaatkan border dan sedikit animasi hover . SEE DEMO CSS .items{ margin-top:50px; } .items li{ float:left; padding:20px 35px 20px 35px; list-style:none; border:5px solid rgba(255,255,255,0.2); margin-left:10px; -webkit-box-reflect: below 0.5px -webkit-gradient(linear,left top,left bottom,from(transparent),color-stop(75%,transparent),to(rgba(255,255,255,0.4))); } .items li:hover{ border:5px solid rgba(255,255,255,1); -webkit-transition:all ease-in 0.3s;/*Chrome*/ -moz-transition:all ease-in 0.3s;/*Firefox*/ -o-transition:all ease-in 0.3s;/*Opera*/ -ms-transition:all ease-in 0.3s;/*Microsoft*/ } .items li a{ color:#FFF; text-decoration:none

Membuat Slideout Navigation

Masih Seputar tutorial dalam membuat menu untuk bagian sidebar , namun ini agak sedikit berbeda dari menu tutorial kemaren yang menggunakan system hover , karena kali ini saya menggunakan Push Menu dengan system onclick ( menu akan muncul setelah kita klik tombol / button  tertanda ) dan sekaligus ini jawaban dan request para sahabat.  Baca: Memasang Simple Flat Sidebar  Demosion   Langkah Kustomisasi  Masukan kode CSS dibawah ini sebelum kode </style> .pushmenu { /*this is the nav*/ background: #3c3933; font-family: Arial, Helvetics, sans-serif; width: 240px; height: 100%; top: 0; z-index: 1000; position:fixed; } .pushmenu h3 { color: #cbbfad; font-size: 14px; font-weight: bold; padding: 15px 20px; margin: 0; background: #282522; height: 16px; } .pushmenu a { display: block; /* drops the nav vertically*/ color: #fff; font-size: 16px; font-weight: bold; text-decoration: none; border-top: 1px solid #56544e; b

Menu CSS3 Dengan Efect Hover

Menu CSS3 Dengan Efect Hover    - Sudah beberapa hari ini diliputi dilema pada background .. susah nentuin yang pas , biarpun pada akhirnya sedikit merasa lega juga dengan yang sekarang ,memang belum puas tapi ya sudahlah . O..ya pada sedikit kesempatan ini saya akan coba share sebuah menu simple CSS3 dengan hover efect yang lumayan bisa diandalkan untuk merubah penampilan template . Untuk lengkapnya silahkan cek demonya . See Demo Komposisi   CSS3  /.....---CSS3 BREWOK---.....\ nav {   font:700 16px/60px 'Lato', sans-serif;   width:90%;   margin:30px auto 0 auto;   background: #374D61 ;   overflow:hidden;   -webkit-border-radius:8px;   -moz-border-radius:8px;   -o-border-radius:8px;   border-radius:8px; } nav ul {   height:60px;   overflow:hidden; } nav ul li {   width:25%;   float:left;   text-align:center; } .item-container {   position:relative;   height:120px;   cursor:pointer;   -webkit-transition: all 0.3s ease; -moz-transition: