0

OK、シームレスなページ遷移方法の改良に丸一日費やしました。以前は簡単な解決策がありました。ユーザーがクリックして Web サイトの別のページに移動すると、コンテンツに対して jQuery の slideUp を実行し、次のページに合わせて背景をフェードさせました (各ページには独自の背景があるため)。次に、「スライドアップ」位置で始まる新しいページをロードし、window.load() の後にスライドダウンします。

実際に新しいページをロードするため、非常にうまく機能し、複雑さを回避できます. しかし、ほとんどの場合、新しいページが読み込まれるときに、この小さなちらつきがあります。私はそれよりもうまくやれると思いました。新しいページをスムーズにフェード インおよびフェード アウトする他の素晴らしいサイトを見てきましたが、なぜそれができないのでしょうか?

そのため、古いコンテンツを消去し、別のページのコンテンツを AJAX で読み込むように完全に書き直しました。次に、新しいページに関連するスクリプトを読み込んで実行する必要がありました。これには、Flickr や Soundcloud からより多くの AJAX を含むアイテムを読み込むことも含まれます。私は実際、1つの大きな問題を除いて、すべてうまく機能しました。いつスライドダウンをトリガーするかについて、window.load() を当てにすることはできなくなりました。すべてが完了したら、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 に答える