function _calcScrollOffset(normalize, refreshParticle) {

        // When moving using touch-gestures, make the offset stick to the
        // finger. When the bounds is exceeded, decrease the scroll distance
        // by two.
        if (refreshParticle || (this._scroll.particleValue === undefined)) {
            this._scroll.particleValue = this._scroll.particle.getPosition1D();
            this._scroll.particleValue = Math.round(this._scroll.particleValue * 1000) / 1000;
        }

        // do stuff
        var scrollOffset = this._scroll.particleValue;
        if (this._scroll.scrollDelta || this._scroll.normalizedScrollDelta) {
            scrollOffset += this._scroll.scrollDelta + this._scroll.normalizedScrollDelta;
            if (((this._scroll.boundsReached & Bounds.PREV) && (scrollOffset > this._scroll.springPosition)) ||
               ((this._scroll.boundsReached & Bounds.NEXT) && (scrollOffset < this._scroll.springPosition)) ||
               (this._scroll.boundsReached === Bounds.BOTH)) {
                scrollOffset = this._scroll.springPosition;
            }
            if (normalize) {
                if (!this._scroll.scrollDelta) {
                    this._scroll.normalizedScrollDelta = 0;
                    _setParticle.call(this, scrollOffset, undefined, '_calcScrollOffset');
                }
                this._scroll.normalizedScrollDelta += this._scroll.scrollDelta;
                this._scroll.scrollDelta = 0;
            }
        }

        if (this._scroll.scrollForceCount && this._scroll.scrollForce) {
            if (this._scroll.springPosition !== undefined) {
                scrollOffset = (scrollOffset + this._scroll.scrollForce + this._scroll.springPosition) / 2.0;
            }
            else {
                scrollOffset += this._scroll.scrollForce;
            }
        }

        // Prevent the scroll position from exceeding the bounds when overscroll is disabled
        if (!this.options.overscroll) {
            if ((this._scroll.boundsReached === Bounds.BOTH) ||
                ((this._scroll.boundsReached === Bounds.PREV) && (scrollOffset > this._scroll.springPosition)) ||
                ((this._scroll.boundsReached === Bounds.NEXT) && (scrollOffset < this._scroll.springPosition))) {
                scrollOffset = this._scroll.springPosition;
            }
        }

        //_log.call(this, 'scrollOffset: ', scrollOffset, ', particle:', this._scroll.particle.getPosition1D(), ', moveToPosition: ', this._scroll.moveToPosition, ', springPosition: ', this._scroll.springPosition);
        return scrollOffset;
    }
function _calcScrollOffset(normalize, refreshParticle) {

        
        
        
        if (refreshParticle || (this._scroll.particleValue === undefined)) {
            this._scroll.particleValue = this._scroll.particle.getPosition1D();
            this._scroll.particleValue = Math.round(this._scroll.particleValue * 1000) / 1000;
        }

        
        var scrollOffset = this._scroll.particleValue;
        if (this._scroll.scrollDelta || this._scroll.normalizedScrollDelta) {
            scrollOffset += this._scroll.scrollDelta + this._scroll.normalizedScrollDelta;
            if (((this._scroll.boundsReached & Bounds.PREV) && (scrollOffset > this._scroll.springPosition)) ||
               ((this._scroll.boundsReached & Bounds.NEXT) && (scrollOffset < this._scroll.springPosition)) ||
               (this._scroll.boundsReached === Bounds.BOTH)) {
                scrollOffset = this._scroll.springPosition;
            }
            if (normalize) {
                if (!this._scroll.scrollDelta) {
                    this._scroll.normalizedScrollDelta = 0;
                    _setParticle.call(this, scrollOffset, undefined, '_calcScrollOffset');
                }
                this._scroll.normalizedScrollDelta += this._scroll.scrollDelta;
                this._scroll.scrollDelta = 0;
            }
        }

        if (this._scroll.scrollForceCount && this._scroll.scrollForce) {
            if (this._scroll.springPosition !== undefined) {
                scrollOffset = (scrollOffset + this._scroll.scrollForce + this._scroll.springPosition) / 2.0;
            }
            else {
                scrollOffset += this._scroll.scrollForce;
            }
        }

        
        if (!this.options.overscroll) {
            if ((this._scroll.boundsReached === Bounds.BOTH) ||
                ((this._scroll.boundsReached === Bounds.PREV) && (scrollOffset > this._scroll.springPosition)) ||
                ((this._scroll.boundsReached === Bounds.NEXT) && (scrollOffset < this._scroll.springPosition))) {
                scrollOffset = this._scroll.springPosition;
            }
        }

        
        return scrollOffset;
    }
function _calcScrollOffset ( normalize , refreshParticle ) { // When moving using touch-gestures, make the offset stick to the // finger. When the bounds is exceeded, decrease the scroll distance // by two. if ( refreshParticle || ( this . _scroll . particleValue === undefined ) ) { this . _scroll . particleValue = this . _scroll . particle . getPosition1D ( ) ; this . _scroll . particleValue = Math . round ( this . _scroll . particleValue * 1000 ) / 1000 ; } // do stuff var scrollOffset = this . _scroll . particleValue ; if ( this . _scroll . scrollDelta || this . _scroll . normalizedScrollDelta ) { scrollOffset += this . _scroll . scrollDelta + this . _scroll . normalizedScrollDelta ; if ( ( ( this . _scroll . boundsReached & Bounds . PREV ) && ( scrollOffset > this . _scroll . springPosition ) ) || ( ( this . _scroll . boundsReached & Bounds . NEXT ) && ( scrollOffset < this . _scroll . springPosition ) ) || ( this . _scroll . boundsReached === Bounds . BOTH ) ) { scrollOffset = this . _scroll . springPosition ; } if ( normalize ) { if ( ! this . _scroll . scrollDelta ) { this . _scroll . normalizedScrollDelta = 0 ; _setParticle . call ( this , scrollOffset , undefined , '_calcScrollOffset' ) ; } this . _scroll . normalizedScrollDelta += this . _scroll . scrollDelta ; this . _scroll . scrollDelta = 0 ; } } if ( this . _scroll . scrollForceCount && this . _scroll . scrollForce ) { if ( this . _scroll . springPosition !== undefined ) { scrollOffset = ( scrollOffset + this . _scroll . scrollForce + this . _scroll . springPosition ) / 2.0 ; } else { scrollOffset += this . _scroll . scrollForce ; } } // Prevent the scroll position from exceeding the bounds when overscroll is disabled if ( ! this . options . overscroll ) { if ( ( this . _scroll . boundsReached === Bounds . BOTH ) || ( ( this . _scroll . boundsReached === Bounds . PREV ) && ( scrollOffset > this . _scroll . springPosition ) ) || ( ( this . _scroll . boundsReached === Bounds . NEXT ) && ( scrollOffset < this . _scroll . springPosition ) ) ) { scrollOffset = this . _scroll . springPosition ; } } //_log.call(this, 'scrollOffset: ', scrollOffset, ', particle:', this._scroll.particle.getPosition1D(), ', moveToPosition: ', this._scroll.moveToPosition, ', springPosition: ', this._scroll.springPosition); return scrollOffset ; }
Get the in-use scroll-offset.
Get the in - use scroll - offset .