jQuery: smoothWheel

more at: http://www.wegotalent.com/wegotprod/c/festival/

by bizamajig

HTML

q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>
q<br>
1<br>
3<br>
x<br>

CSS

html,body {height:1600px; background:url(http://yckart.com/ph/90)}

JavaScript

jQuery.extend(jQuery.easing, {
    easeOutQuint: function(x, t, b, c, d) {
        return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
    }
});

var wheel = false,
    $docH = $(document).height() - $(window).height(),
    $scrollTop = $(window).scrollTop();

$(window).bind('scroll', function() {
    if (wheel === false) {
        $scrollTop = $(this).scrollTop();
    }
});
$(document).bind('DOMMouseScroll mousewheel', function(e, delta) {
    delta = delta || -e.originalEvent.detail / 3 || e.originalEvent.wheelDelta / 120;
    wheel = true;

    $scrollTop = Math.min($docH, Math.max(0, parseInt($scrollTop - delta * 30)));
    $($.browser.webkit ? 'body' : 'html').stop().animate({
        scrollTop: $scrollTop + 'px'
    }, 500, 'easeOutQuint', function() {
        wheel = false;
    });
    return false;
});