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.
<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