Я помню, как видел это в одной точке моего сайта. С тех пор я вырвал меню, но, вернув его на свою главную страницу, я больше не вижу мерцания. Вот код для простого меню, которое работает без мерцания на главной странице;
<asp:Menu ID="menu"
DataSourceID="sitemap"
runat="server" />
<asp:SiteMapDataSource
ID="sitemap"
ShowStartingNode="false"
runat="server" />
Не пробовал сам, но как насчет установки класса по умолчанию для дочерних элементов меню на невидимый (скажем, класс invisibleMenu
), что означает, что он изначально загружается невидимым, а затем с помощью небольшого количества JavaScript для удаления невидимости ? В jQuery что-то вроде
$('.invisibleMenu').removeClass('invisibleMenu');