0

このオンスクリーンプラグインは、ビューポート内にある要素にのみクラス名を追加することを目的としていますが、ページが読み込まれるとすぐにクラス名を追加しているように見えますが、これは意図したことではありません。

$(function() {
  setInterval(function() {
  $("#star").filter(":onScreen").addClass('animated bounceInRight');
  }, 0)                             
})

私はこのプラグイン内でそれを使用していますが、これはブック エフェクト プラグインであり、何らかの方法でオンスクリーンと競合すると思います: http://pastebin.com/UmyJ6zBWこのプラグインが機能するには、1 つのページに異なるセクションが必要です。オンスクリーンは、最初のセクションで使用すると機能しますが、実際に表示されていない他のセクションで使用すると機能しなくなります。これを修正するにはどうすればよいですか?

4

1 に答える 1

0

あなたは3つのことのうちの1つをすることができます。

  1. 気にしないでください。一般に、表示されていない要素のスタイルについて心配する必要はありません。
  2. 間隔を使用setInterval()しますが、許容可能な最小値に減らしますが、約20ミリ秒以上にします。
  3. #star[推奨]要素が画面のオン/オフに移動する原因に応じて起動するイベントハンドラーを確立します。

3番目のアプローチの場合:

  • jQueryアニメーションは、step各アニメーションステップが実行されるときに起動するコールバックを提供します。
  • scrollドキュメントをスクロールすると要素が表示されたり表示されなくなったりするため、ハンドラーも必要になる可能性があります。

注意して、単一の関数を記述し、それを両方の目的に使用できるようにする必要があります。

于 2013-02-22T19:50:04.340 に答える