导航栏不重新加载

时间:2012-02-29 16:05:36

标签: javascript html ajax

我有一个非常愚蠢的问题。过去几周我一直在编写一个Ruby On Rails应用程序,使用优秀的Bootstrap / Twitter组件来避免我做任何艺术活动。

我注意到该网站上的导航栏似乎没有重新加载。

http://twitter.github.com/bootstrap/javascript.html

点击最顶部的链接(概述,脚手架等)会导致页面发生变化,并且要更改的URL,但顶栏本身似乎不会重新加载。

我无法检测到AJAX-y会发生什么事情(使用Chrome的开发工具栏等)。我只能想象它是:

  • 一种视错觉,正在重新加载它的速度太快我无法看到它。但那为什么它似乎不会与内容同时重新加载?

  • 一些无法察觉的AJAX正在进行

  • 正在进行某种浏览器缓存(可以为渲染的页面元素执行此操作)
  • 完全不同的东西

欢迎任何想法:)

2 个答案:

答案 0 :(得分:3)

boostrap site's导航栏在重新加载过程中似乎是静态的,但这并不是一些聪明的js。没有显示的隐藏内容。

这里发生的是一个非常快速的页面加载。 boostrap的人将他们所有的js链接和脚本移动到他们的html底部,这样他们的页面加载速度更快,他们甚至在他们的html中说。页面加载速度要快得多,导航栏等某些元素似乎根本没有变化。我在网站上尝试了它并且低了并看到静态导航栏错觉。

因此,将js和脚本移动到html的底部可以帮助您实现相同的技巧。

答案 1 :(得分:2)

加载整个页面(每个标签页),并在页面加载时隐藏。

点击链接后,使用location.hash更改了网址(并且JavaScript阻止了导航)。

更改哈希值后,将运行onhashchange事件,并显示正确的div。

以下是一个示例:http://jsfiddle.net/uFgtS/(好吧,我猜你看不到网址的变化。将HTML,CSS和JS复制到文件中并运行它。)