2

私のプロジェクトでは、プロジェクト グリッドを持つ長いスクロール ページがあります。プロジェクトをクリックすると、そのプロジェクトを ajax で読み込み、プロジェクト グリッドを押し下げてウィンドウをスライドして開き、選択したプロジェクトを表示します。各プロジェクトは、コンテンツに基づいて高さが異なります。プロジェクト グリッドの下に表示されるコンテンツが常にページの最後に表示されるようにする必要があります。現在、グリッドをスライドして開くと、「フッター」コンテンツの上をスライドします (下にある大まかな例)。

skrollr のドキュメントによると、ウィンドウのサイズが変更された場合は、refresh 関数を呼び出す必要があります。

プロジェクト グリッドのクリック時に init でこの関数を実行すると、コンテンツの新しい高さに合わせてウィンドウが調整されません。目標は、現在の高さ/位置に関係なく、フッターが常にプロジェクト グリッドの数百ピクセル後に表示されるようにすることです。

http://caava.elusiveform.com/example.html

4

1 に答える 1

3

これはskrollrとは関係ないと思います。コンテンツの後にフッターを表示する場合は、フッターがドキュメント フロー内にあることを確認してください。あなたはposition:fixedそれを他のものと混ぜて使用しています。最初に skrollr を使用せずにページを作成し、次に相対モードを使用してアニメーションを追加することをお勧めします。使用skrollr.cssしているファイルは古いため、もう存在しません。

フッターが正しく配置されていることを確認したら、呼び出しrefreshてアニメーションを機能させることができます (アニメーションは data-end に依存し、変更され、再計算する必要があります)。あなたの場合、おそらくそれで十分でしょう:

s.refresh(document.getElementById('footer'));

ところで、skrollrのドキュメントによると

ウィンドウのサイズ変更は skrollr によって処理されます。

refreshDOM を変更し、skrollr がそれを検出できない場合にのみ必要です。

于 2012-09-10T10:26:10.007 に答える