jQuery ile kaydırma efekti

ileğen blog http://ilegen.blogspot.com

by cihan eken

HTML

<div class="buton">
    <button type="button" onclick="smoothScroll(document.getElementById('gidilecek-yer'))">Hadi Gidelim</button>
</div>
<div class="gidilecek-yer" id="gidilecek-yer">Merhaba Dünya</div>

CSS

.buton {
    width: 100%;
    height: 1000px;
    background: #ccc;
}
.gidilecek-yer {
    width: 100%;
    height: 1000px;
    background: #235324;
    color:white;

JavaScript

window.smoothScroll = function (target) {
    var scrollContainer = target;
    do { //find scroll container
        scrollContainer = scrollContainer.parentNode;
        if (!scrollContainer) return;
        scrollContainer.scrollTop += 1;
    } while (scrollContainer.scrollTop == 0);

    var targetY = 0;
    do { //find the top of target relatively to the container
        if (target == scrollContainer) break;
        targetY += target.offsetTop;
    } while (target = target.offsetParent);

    scroll = function (c, a, b, i) {
        i++;
        if (i > 30) return;
        c.scrollTop = a + (b - a) / 30 * i;
        setTimeout(function () {
            scroll(c, a, b, i);
        }, 20);
    }
    // start scrolling
    scroll(scrollContainer, scrollContainer.scrollTop, targetY, 0);
}