src/jquery.timelineMe.js
function(element, args) {
        if(!args)
            args = {};
        var refreshDelay = args.refreshDelay ? args.refreshDelay : 500;
        var previousHeight = args.previousHeight;
        var level = args.level ? args.level : 0;
        var ret = new $.Deferred();
        var elmHeight;

        if(element)
            elmHeight = element[0].getBoundingClientRect().height;

        if(elmHeight && (!previousHeight || previousHeight != elmHeight)) {
            ret.resolve(elmHeight, previousHeight, level);
        } else {
            args.previousHeight = elmHeight;
            setTimeout(function () {
                resolveElementHeightChange(element, {previousHeight: elmHeight, refreshDelay: refreshDelay, level: (level + 1)}).then(function(newHeightVal, previousHeightVal, levelVal) {
                    ret.resolve(newHeightVal, previousHeightVal, level);
                });
            }, refreshDelay);
        }

        return ret;
    }
function(element, args) {
        if(!args)
            args = {};
        var refreshDelay = args.refreshDelay ? args.refreshDelay : 500;
        var previousHeight = args.previousHeight;
        var level = args.level ? args.level : 0;
        var ret = new $.Deferred();
        var elmHeight;

        if(element)
            elmHeight = element[0].getBoundingClientRect().height;

        if(elmHeight && (!previousHeight || previousHeight != elmHeight)) {
            ret.resolve(elmHeight, previousHeight, level);
        } else {
            args.previousHeight = elmHeight;
            setTimeout(function () {
                resolveElementHeightChange(element, {previousHeight: elmHeight, refreshDelay: refreshDelay, level: (level + 1)}).then(function(newHeightVal, previousHeightVal, levelVal) {
                    ret.resolve(newHeightVal, previousHeightVal, level);
                });
            }, refreshDelay);
        }

        return ret;
    }
function ( element , args ) { if ( ! args ) args = { } ; var refreshDelay = args . refreshDelay ? args . refreshDelay : 500 ; var previousHeight = args . previousHeight ; var level = args . level ? args . level : 0 ; var ret = new $ . Deferred ( ) ; var elmHeight ; if ( element ) elmHeight = element [ 0 ] . getBoundingClientRect ( ) . height ; if ( elmHeight && ( ! previousHeight || previousHeight != elmHeight ) ) { ret . resolve ( elmHeight , previousHeight , level ) ; } else { args . previousHeight = elmHeight ; setTimeout ( function ( ) { resolveElementHeightChange ( element , { previousHeight : elmHeight , refreshDelay : refreshDelay , level : ( level + 1 ) } ) . then ( function ( newHeightVal , previousHeightVal , levelVal ) { ret . resolve ( newHeightVal , previousHeightVal , level ) ; } ) ; } , refreshDelay ) ; } return ret ; }
Method that can return an element's height when it's changing
Method that can return an element s height when it s changing