我想创建一个类似 this one 的菜单性能对我来说是非常重要的因素。 到目前为止,我遇到了两种不同的方法,Javascript 和 CSS,我很难弄清楚我应该走哪条路。哪一种方法更快、更轻量级?
我的网站使用 Javascript,但我很好奇的一件事是,如果我选择 CSS 方法,我能否以某种方式让它工作,如果用户禁用了 Javascript,静态页面会显示给他/她?
我将用一个例子来解释我的问题。假设我的菜单上有一个 DOWNLOAD
按钮。如果用户有 JS,下载内容应借助 jQuery 显示在同一页面上,但如果用户禁用 JS,则单击菜单项应将用户带到 download.php
页面。
顺便说一句,如果您建议的方法有免费的解决方案,请提供指向它的链接。谢谢。
最佳答案
CSS 菜单比 JS 菜单更难使用:如果鼠标离开 1px 甚至 1ms 长,子菜单将立即隐藏。您可以在 JS 菜单上添加 100 或 200 毫秒的延迟,并允许访问者出现小的移动错误。不是每个人都是拥有完美鼠标技能的游戏玩家;)
所谓的“大型下拉”菜单可能比您提供的示例更好。在 web 上先垂直再水平是很难的(甚至在桌面上它也只用于软件中很少访问的功能。只有我们 web 开发人员和 web 设计师可以轻松地浏览这些复杂的菜单 :) );大型下拉菜单将向访问者显示带有漂亮标题的整个链接。
如果您的网站应该易于在智能手机上使用,您可能还需要考虑在点击时显示子菜单的菜单(即在用户点击主链接后)。
编辑: 我应该在没有你询问的情况下添加这些链接,但找不到第二个链接(现在它在我的书签中,谢谢 :))
- Jakob Nielsen(可用性大师)关于下拉菜单:http://www.useit.com/alertbox/mega-dropdown-menus.html这里
- Why Hover Menus Do Users More Harm Than Good
- 设计模式:Vertical Dropdown Menu
关于jquery - 用于创建多级菜单的最快和最轻量级的菜单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8058671/