Jquery hashchange事件插件导航-一些问题

Jquery hashchange事件插件导航-一些问题,jquery,navigation,hashchange,Jquery,Navigation,Hashchange,我用hashchange事件插件制作了一些基本页面。但是现在我想做一些更大的事情,但是找不到一个简单的方法来做 html以动画登录框开始。如果你登录到你的帐户,登录框就会消失——散列变为#开始;内容+页眉/页脚加载并淡入。这部分现在没有问题 主要原因是在不离开index.html的情况下激活浏览器后退按钮。我使用ajax和散列对其进行归档#start在登录后加载主界面#消息加载消息接口。两者都有一些额外的脚本+动画,每次哈希更改时都会触发这些脚本和动画 一般来说,我的问题是,我不知道如何到达子链

我用hashchange事件插件制作了一些基本页面。但是现在我想做一些更大的事情,但是找不到一个简单的方法来做

html以动画登录框开始。如果你登录到你的帐户,登录框就会消失——散列变为#开始;内容+页眉/页脚加载并淡入。这部分现在没有问题

主要原因是在不离开index.html的情况下激活浏览器后退按钮。我使用ajax和散列对其进行归档#start在登录后加载主界面#消息加载消息接口。两者都有一些额外的脚本+动画,每次哈希更改时都会触发这些脚本和动画

一般来说,我的问题是,我不知道如何到达子链接。例如:用户在#messages中(ajax加载/php/messages.php,淡入)。messages界面显示了他的收件箱,底部有一个链接,可以访问他的发件箱。链接有哪些选项?messages.php等待GET请求,比如新消息的s=n,发件箱的s=o。我应该如何做到这一点:激活浏览器后退按钮

有没有办法将散列改为#messages/outbox+加载文件/php/messages.php?s=o?jquery代码应该是什么样子?对于主导航,我使用了一个switch函数,比如“switch(hash){case#start;case#messages}”;这不是最好的解决方案,因为我会得到更多的链接/散列


有什么建议/解决方案吗?

我想,如果您希望您的url对用户有用,而不仅仅是返回按钮功能,那么您必须始终查找url。
考虑用户在页面打开时粘贴以前保存的URL,你想把它们拿到他们要找的地方,对吗?
因此,考虑到这一点,我只关心更改哈希(当您希望将其设置为历史记录/可书签状态时),然后在hashchange事件上处理页面和操作内容。如果您使用的是hashchange事件插件,您可能想看看它“提供了一个完整的.deparam()方法,以及哈希状态管理、片段/查询字符串解析和合并实用程序方法。”使它变得更简单。

我想如果你想让你的url对用户有用,而不仅仅是返回按钮功能,你就必须始终查找url。
考虑用户在页面打开时粘贴以前保存的URL,你想把它们拿到他们要找的地方,对吗?
因此,考虑到这一点,我只关心更改哈希(当您希望将其设置为历史记录/可书签状态时),然后在hashchange事件上处理页面和操作内容。如果您使用的是hashchange事件插件,您可能想看一看,它“提供了完整的.deparam()方法,以及哈希状态管理、片段/查询字符串解析和合并实用程序方法。”这使它更简单。

谢谢!烧烤插件似乎解决了我的问题!可以肯定的是:所以我可能会得到一个像#messages&s=o&foo=bar这样的链接:它首先打开#messages,然后执行params?@MukMuk这取决于你想要推送多少个状态。如果按下#消息,然后按下所有参数,则将有2个状态,并且必须按下后退按钮2次才能返回到第一个状态。您可以使用“将“状态”添加到浏览器历史记录中的当前位置,设置location.hash并触发任何绑定的hashchange事件回调(前提是新状态与以前的状态不同)。”谢谢!烧烤插件似乎解决了我的问题!可以肯定的是:所以我可能会得到一个像#messages&s=o&foo=bar这样的链接:它首先打开#messages,然后执行params?@MukMuk这取决于你想要推送多少个状态。如果按下#消息,然后按下所有参数,则将有2个状态,并且必须按下后退按钮2次才能返回到第一个状态。您可以使用“将“状态”添加到当前位置的浏览器历史记录中,设置location.hash并触发任何绑定的hashchange事件回调(前提是新状态不同于以前的状态)。”