我使用 jQuery 在 ASP.NET 母版页上创建了一个垂直菜单。以下是一些需要考虑的事项:
- 菜单结构基于有序列表。列表项具有包含子菜单选项的嵌套项 (UL)。
- 加载页面时,所有子菜单必须显示为折叠状态。这很容易通过 display: none 子菜单样式规则来完成。但是,即使禁用 Java 脚本,该网站也应该运行。所以我想我会选择要显示的子菜单规则样式:在 $(document).ready(function ()) 期间阻止并将显示更改回“无”。因此,如果 JavaScript 被禁用,菜单将显示所有已展开的子菜单项。
问题: 目前,当启用 JavaScript 时,页面加载时所有子菜单选项都展开,然后在运行 jQuery 就绪方法后,子菜单折叠使用:
$('.menu li > .sub-menu').hide();
我想显示所有子菜单项都已折叠的页面,并避免在加载页面后折叠子菜单项。我怎样才能做到这一点?
谢谢
最佳答案
我想我刚刚找到了答案。您想要的是将这些子菜单的 CSS 设置为 display: none;
,然后在 noscript 标记中创建一个重复的子菜单。如果启用了 JS,则不会显示 noscript 版本,也不会显示其他由于 CSS。如果 JS 被禁用,CSS 将作用于 JS 版本,但 noscript 标签会启动。
关于jquery - 在 ASP .NET 中使用 jQuery 和母版页更改菜单样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11381658/