0

好的,我花了一整天的时间来改进我的无缝页面转换方法。以前我有一个简单的解决方案。当用户点击转到网站上的另一个页面时,我在内容上做了一个 jQuery slideUp 并淡化了背景以匹配即将到来的页面(因为每个页面都有自己的背景)。然后我加载新页面,该页面从“向上滑动”位置开始,然后在 window.load() 之后向下滑动。

它工作得非常好并且避免了任何并发症,因为它确实加载了新页面。但是大多数时候在新页面加载时都会出现这种微小的闪烁。我以为我可以做得比那更好。我见过其他可以平滑淡入淡出新页面的精美网站,为什么我不能这样做?

所以我完全重写了一些东西,以便擦除旧内容并使用 AJAX 加载来自其他页面的内容。然后我还必须加载和运行与新页面相关的脚本,包括从 Flickr 和 Soundcloud 加载具有更多 AJAX 的项目。实际上,除了一个主要问题外,我所有的工作都很好。我不能再指望 window.load() 何时触发 slideDown。一切都完成后,我想不出任何办法让 slideDown 发生。

如果我正在加载简单的静态页面,我认为使用 $.load() 回调来触发向下滑动会很好。但在我的情况下,我正在加载的页面正在执行进一步的 AJAX 调用,因此页面进入“空”,只有一个标题或其他内容,然后幻灯片发生,然后来自 Flickr 的所有图片都进来,破坏了平滑的幻灯片效果。

当我在“页面”之间来回跳跃时,还有一些其他令人不安的怪癖,所以我想知道这整个努力是否注定要灾难。也许我应该保留我简单的过渡方法?但是有没有什么办法可以减少跳转到新页面时内容的闪烁呢?

4

1 回答 1

0

我实际上想出了一个解决方案,通过 iframe 检索页面并在 iframe 中有一个 window.load 事件在它完成加载时通知它的父页面(直到它的 ajax 请求都进来才会发生)然后将 iframe 的内容附加到父页面并删除 iframe。虽然这不是一个非常有效的解决方案,并且 jquery Flickr 插件在 IE 中导致错误,所以我废弃了整个 iframe 并用 PHP 加载了 flickr 提要。我认为这是要走的路。尽可能使用服务器端代码而不是嵌套的 ajax 调用。

于 2012-06-08T18:50:13.787 回答