Skip to main content
A newer version of this page is available. .

ASPxClientMenuCollection.RecalculateAll Method

Recalculates the position of visible sub menus.

Declaration

RecalculateAll(): void

Remarks

The position of the invoked submenu is calculated relative to the main menu position. If the main menu position is changed (for example, by applying specific style settings) while a certain submenu is being invoked, the invoked submenu position will not be changed. Use the RecalculateAll method to recalculate the new position of the invoked submenu.

Example

This example demonstrates how to recalculate a new position of the invoked submenu if the position of the main menu has been changed.

View Example

<script type="text/javascript">
    const fixedStyleName = 'fixed_style';
    var menuBar = document.getElementById('menu_container'),
        menuBarOffsetTop = menuBar.offsetTop;
    function Recalculate() {
        if(enableRecalculate.GetChecked())
            ASPxClientMenuBase.GetMenuCollection().RecalculateAll();
    }    
    window.addEventListener('scroll', function() {
        if(window.scrollY > menuBarOffsetTop && !menuBar.classList.contains(fixedStyleName)) {
            menuBar.classList.add(fixedStyleName);
            Recalculate();
        }
        else if(window.scrollY <= menuBarOffsetTop && menuBar.classList.contains(fixedStyleName)) {
            menuBar.classList.remove(fixedStyleName);
            Recalculate();
        }
    });
</script>
See Also