【发布时间】:2012-01-27 16:05:20
【问题描述】:
我只是找不到令人满意的方式来处理浏览器的历史记录。当然有像History.js 这样的可爱插件,它适用于较小的东西。但是让我举个例子:
我有一个多页表单,它要求用户提供不同的东西。每次提交到下一页后(其实也一样,只是根据HTTP-POST变量改变视图),页面上会有一些动画和变化:
- 主要内容更改为下一个表单(带有slideUp/slideDown)
- 进度条通过动画改变其状态
- 在此栏下方,一些关于一些输入的信息淡入
所以现在这很基本,但我已经在苦苦挣扎,因为所有动画(最后两部分)在每个状态(不同的 div,不同的输入源)上都是不同的,我不知道如何制作它们如此通用,我不必单独指定它们。
虽然我可以忍受,但是当用户点击后退按钮时,我必须再次重新定义所有这些动画(反向)。内容加载肯定没问题,它基本上只是用 ajax-load 重新加载文件:
- 我在提交时执行
pushstate,输入数据为stateObj - 所以我可以在绑定的“statechange”事件中执行内容加载
尽管如此,其余的让我发疯。
【问题讨论】:
标签: php javascript jquery model-view-controller pushstate