Hi,
I'm using ultrawebmenu in vertical mode.
When the page is too high, if you scroll down, subitems don't appear at the right place.
As you can see : in the top of the page subitems appear at the right place:
If in scroll a little, subitems don't appear at the right place:
I didn't find any post about that, and Infragistics samples have the same problem...Thx in advance for your answers,
Sylvain GUILLAS
martin2004 said: Hi there, is there currently no solution to fix the problem of the wrong positions of the menu(subitems)
Hi there, is there currently no solution to fix the problem of the wrong positions of the menu(subitems)
Because there are a couple of different permutations of this problem I have been advising anyone who encounters it to submit a sample to our support team. That way they can verify whether it's a new issue or an old problem that has been fixed already.
hi david, can you exactly tell me where i must insert your code ?works it also with visual basic ?
greetingsmartin
I was one of the original posters and this is how I fixed it -- it may work for you. The issue with the popup menus not aligning properly seems to be caused by how some pages are organized and whether they are located deep inside the document's DOM hierarchy. If the menus exist as a child of the <body> element everything seems to work OK.
I used two different techniques, but both basically do the same thing -- they reparent the menu to the <body> element. The first involves using a piece of javascript to show a popup menu:
var $uwm = { old_pageMouseDown: null, old_parentElement: null, menuDivContainer: null,
showPopupMenu: function(mn, evnt, x, y) { var menuDiv = document.getElementById(mn + '_MainM'); if (menuDiv == null) return;
// reparent menu so it will show in the correct position this.menuDivContainer = menuDiv.parentElement; if (this.menuDivContainer.parentElement != document.forms[0]) { this.old_parentElement = this.menuDivContainer.parentElement; this.menuDivContainer.parentElement.removeChild(this.menuDivContainer); document.forms[0].appendChild(this.menuDivContainer); }
// fake up an event object so the position will be computed // by the correct logic in the infragistics library. if we pass // in x,y then that logic is not executed. var e = new Object(); if (evnt.target) e.target = document.body; if (evnt.srcElement) e.srcElement = document.body; e.x = x; e.y = y;
igmenu_showMenu(mn, e, x, y); },
hidePopupMenu: function() { ig_inMenu = false; igmenu_pageMouseDown(); },
// event handlers pageMouseDown: function(evnt) { $uwm.old_pageMouseDown(evnt);
// undo a menu reparenting if ($uwm.menuDivContainer && $uwm.old_parentElement) { document.forms[0].removeChild($uwm.menuDivContainer); $uwm.old_parentElement.appendChild($uwm.menuDivContainer); $uwm.menuDivContainer = null; $uwm.old_parentElement = null; } }};window.attachEvent('onload', function() { // override the igmenu_pageMouseDown global function so we know // when a menu is hidden. $uwm.old_pageMouseDown = igmenu_pageMouseDown; igmenu_pageMouseDown = $uwm.pageMouseDown; document.detachEvent('onmousedown', igmenu_pageMouseDown); document.attachEvent('onmousedown', $uwm.pageMouseDown);});
The other way involved using an extender I wrote that would reparent the contents of the specified control to the <body> tag. I've added the javascript helper and the extender as an attachment if anyone is interested. If they don't work for you, they may show you how to work around the issue.
HTH,David
hellbinder said: That is the default value for the mentioned property. And I also tried setting the CSS style and it doesn't work. Still confused about this issue. Some say it work, and some say it doesn't.
That is the default value for the mentioned property. And I also tried setting the CSS style and it doesn't work. Still confused about this issue. Some say it work, and some say it doesn't.
It sounds like it might be a seperate issue from what others in this thread are experiencing. If you contact our support dept. they can verify that the latest builds of the menu don't resolve this issue and enter it as a new bug in our system.