dist/toolkit.js
function() {
        var options = this.options,
            node = this.node,
            element = this.loadElement(node);

        // Only position if the menu has children
        if (!element.children().length) {
            return;
        }

        this.fireEvent('showing');

        var height = element.outerHeight(),
            coords = node.offset(),
            x = coords.left + options.xOffset,
            y = coords.top + options.yOffset + node.outerHeight(),
            windowScroll = $(window).height(),
            dir = 'left';

        // If menu goes below half page, position it above
        if (y > (windowScroll / 2)) {
            y = coords.top - options.yOffset - height;
        }

        // Change position for RTL
        if (Toolkit.isRTL) {
            x = $(window).width() - coords.left - node.outerWidth();
            dir = 'right';
        }

        element
            .css('top', y)
            .css(dir, x)
            .reveal();

        this.fireEvent('shown');
    }
function() {
        var options = this.options,
            node = this.node,
            element = this.loadElement(node);

        // Only position if the menu has children
        if (!element.children().length) {
            return;
        }

        this.fireEvent('showing');

        var height = element.outerHeight(),
            coords = node.offset(),
            x = coords.left + options.xOffset,
            y = coords.top + options.yOffset + node.outerHeight(),
            windowScroll = $(window).height(),
            dir = 'left';

        // If menu goes below half page, position it above
        if (y > (windowScroll / 2)) {
            y = coords.top - options.yOffset - height;
        }

        // Change position for RTL
        if (Toolkit.isRTL) {
            x = $(window).width() - coords.left - node.outerWidth();
            dir = 'right';
        }

        element
            .css('top', y)
            .css(dir, x)
            .reveal();

        this.fireEvent('shown');
    }
function ( ) { var options = this . options , node = this . node , element = this . loadElement ( node ) ; // Only position if the menu has children if ( ! element . children ( ) . length ) { return ; } this . fireEvent ( 'showing' ) ; var height = element . outerHeight ( ) , coords = node . offset ( ) , x = coords . left + options . xOffset , y = coords . top + options . yOffset + node . outerHeight ( ) , windowScroll = $ ( window ) . height ( ) , dir = 'left' ; // If menu goes below half page, position it above if ( y > ( windowScroll / 2 ) ) { y = coords . top - options . yOffset - height ; } // Change position for RTL if ( Toolkit . isRTL ) { x = $ ( window ) . width ( ) - coords . left - node . outerWidth ( ) ; dir = 'right' ; } element . css ( 'top' , y ) . css ( dir , x ) . reveal ( ) ; this . fireEvent ( 'shown' ) ; }
Position the menu below the target node.
Position the menu below the target node .