/**
 * Parallax scrolling
 */
(function ($) {
    var $scrollTop = $('[data-parallax-top]');
    var $scrollBottom = $('[data-parallax-bottom]');
    var scrollPosition = 0;

    /**
     * Get the factor attribute for each
     * @return {[type]} [description]
     */
    var _generateFactor = function () {
        var i;

        for (i = 0; i < $scrollTop.length; i++) {
            $scrollTop[i].factor = parseInt($scrollTop[i].getAttribute('data-parallax-factor') || 4, 10);
        }

        for (i = 0; i < $scrollBottom.length; i++) {
            $scrollBottom[i].factor = parseInt($scrollBottom[i].getAttribute('data-parallax-factor') || 4, 10);
        }
    };


    /**
     * Callback for rAF
     * @return {void}
     */
    var _callback = function () {
        var scroll = window.pageYOffset;
        var i;
        var factor;

        if (scrollPosition === scroll) {
            $scrollTop.css('transform', 'translateY(0) translateZ(0)');
            window.requestAnimationFrame(_callback);

            return false;
        }

        for (i = 0; i < $scrollTop.length; i++) {
            factor = $scrollTop[i].factor;
            $scrollTop.eq(i).css('transform', 'translateY(' + parseInt(scroll / factor, 10) + 'px) translateZ(0)');
        }

        for (i = 0; i < $scrollBottom.length; i++) {
            factor = $scrollBottom[i].factor;
            $scrollBottom.eq(i).css('transform', 'translateY(' + parseInt(scroll / (factor * -1), 10) + 'px) translateZ(0)');
        }

        window.requestAnimationFrame(_callback);
    };

    /**
     * Init
     */
    if ($scrollTop.length || $scrollBottom.length) {
        _generateFactor();
        window.requestAnimationFrame(_callback);
    }

}(jQuery));

@@ -1198,32 +1198,34 @@
 nslateY(' + 
-parseInt
+Math.floor
 (scroll / fa
@@ -1228,20 +1228,16 @@
 / factor
-, 10
 ) + 'px)
@@ -1429,24 +1429,26 @@
 teY(' + 
-parseInt
+Math.floor
 (scroll 
@@ -1462,20 +1462,16 @@
 or * -1)
-, 10
 ) + 'px)

Use Math.floor instead of parseInt for better calculation