我正在为一个站点的一些自定义jQuery/javascript导航工作,我很好奇设计决策的性能影响。更好地加载JavaScript导航层次结构一次或逐级加载?
它的工作方式是每个选项最多有8个子选项,这个层次结构可以有4个深度。我相信这使得8^4或4096个可能的导航项目(可能更少,但这是最大的)。这些关系是在服务器端定义的。
目前我正在处理测试数据,所以只有大约50个导航项目。当页面加载时,我创建每个导航项目,然后仅显示当前选择所需的内容。
我是否应该考虑重写这个函数来仅载入通过AJAX调用进行选择时所需的项目?我担心,如果目前的方法达到4096个导航项目,可能无法很好地扩展。
如果没有更好的理解你系统的工作方式,这很难回答。例如,您是在前面创建所有DOM元素,还是仅在导航扩展时才创建?你需要通过JSON从服务器加载4096个元素,还是动态地创建了其中的很多元素? – nrabinowitz 2011-05-24 17:21:53
这取决于网站导航的*期望*大小,超过理论最大值:大多数网站的导航无处可见*数千个项目(说实话,如果您的站点有4个导航级别,总共有4096个项目,那么是一个完整的UX噩梦)。如果您真的担心这个问题,可以静态加载几个最高级别,然后根据需要通过AJAX加载剩下的级别。 – Piskvor 2011-05-24 17:22:08
@Piskvor,我不指望他们达到最大值,但我仍然认为他们是相当大的。我对“导航”的使用也可能有点误导。只有叶子项目实际上会把某个人带到某个地方,而叶子可能会被重用... – 2011-05-24 17:28:40