1

ここに見られるように、このアニメーショングラフを使用したい

しかし、それはフォールドの下にあり、表示されたときにのみアニメーション化する必要があります。

ここで提供されているコードを使用してみました。これはトリックを実行するように見えます: DIV が初めて表示されるたびに、Div をロード (遅延読み込み) します。

他の同様の投稿と一緒ですが、成功していません。

いくつかの助けをいただければ幸いです。コードのベアボーンはここで見ることができます

ありがとう。ニール

4

1 に答える 1

0

この lazyLoad() 関数の問題は、要素の offset().top を使用して要素がウィンドウのビューにあるかどうかを判断することだと思います。

ただし、問題は、要素の表示プロパティが none に設定されている場合、offset メソッドが 0 を返し、ページの読み込み時にイベントが発生するため、ページの読み込み時にアニメーションが開始されることです。

アニメーションはおそらく表示プロパティを使用してアニメーションの可視性を制御するため、offset メソッドから 0 値を取得している可能性があります。

これを試して、これを lasyLoad() 関数のオフセット メソッドを呼び出した直後 (13 行目あたり) に配置し、ページが読み込まれたときのオフセット値を確認します。

console.log("offset top " + ot + " height: " + ob);

オフセット呼び出しの直後にそれを入力してください。

この問題をデバッグしたこのフィドルを確認できます http://jsfiddle.net/jessekinsman/yDybE/5/

css transition を使用してアニメーションを実行し、表示プロパティの代わりに可視性プロパティを使用してみてください。あなたが達成しようとしているアニメーションの種類がわからないので、どのアニメーションを試してみるべきかを正確に推奨することはできません.

お役に立てれば

于 2013-02-27T01:18:47.677 に答える