好的,我花了一整天的时间来改进我的无缝页面转换方法。以前我有一个简单的解决方案。当用户点击转到网站上的另一个页面时,我在内容上做了一个 jQuery slideUp 并淡化了背景以匹配即将到来的页面(因为每个页面都有自己的背景)。然后我加载新页面,该页面从“向上滑动”位置开始,然后在 window.load() 之后向下滑动。
它工作得非常好并且避免了任何并发症,因为它确实加载了新页面。但是大多数时候在新页面加载时都会出现这种微小的闪烁。我以为我可以做得比那更好。我见过其他可以平滑淡入淡出新页面的精美网站,为什么我不能这样做?
所以我完全重写了一些东西,以便擦除旧内容并使用 AJAX 加载来自其他页面的内容。然后我还必须加载和运行与新页面相关的脚本,包括从 Flickr 和 Soundcloud 加载具有更多 AJAX 的项目。实际上,除了一个主要问题外,我所有的工作都很好。我不能再指望 window.load() 何时触发 slideDown。一切都完成后,我想不出任何办法让 slideDown 发生。
如果我正在加载简单的静态页面,我认为使用 $.load() 回调来触发向下滑动会很好。但在我的情况下,我正在加载的页面正在执行进一步的 AJAX 调用,因此页面进入“空”,只有一个标题或其他内容,然后幻灯片发生,然后来自 Flickr 的所有图片都进来,破坏了平滑的幻灯片效果。
当我在“页面”之间来回跳跃时,还有一些其他令人不安的怪癖,所以我想知道这整个努力是否注定要灾难。也许我应该保留我简单的过渡方法?但是有没有什么办法可以减少跳转到新页面时内容的闪烁呢?