divコンテナがビューポートに表示されたら、jpgファイルをアニメーションgifファイルに置き換えます。できます。重要:gifファイルにはループがありません。 私の問題:もう一度スクロールすると、ちょっとでも、上または下にあっても、置き換えが再び行われます。 最初の交換後にこのイベントを停止する簡単な方法はありますか? おかげアニメーションは1回だけ再生できますか?
jQuery(document).ready(function($){
\t
\t var $window = $(window);
\t var $elem = $(".animated")
\t \t function isScrolledIntoView($elem, $window) {
\t \t \t var docViewTop = $window.scrollTop();
\t \t \t var docViewBottom = docViewTop + $window.height();
\t \t \t var elemTop = $elem.offset().top;
\t \t \t var elemBottom = elemTop + $elem.height();
\t \t \t return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
\t \t }
\t $(document).on("scroll", function() {
\t \t if (isScrolledIntoView($elem, $window)) {
\t \t \t $("#graph1").attr("src","images/graphsSECHE_500x500_noloop2.gif");
\t \t }
\t \t
\t });
});
グローバルブールを設定し、ビデオを再生したかどうかに基づいてtrueまたはfalseに設定してから – Pete
を追加するか、それが文字どおりの要素の1つであれば、ドキュメントのスクロールイベントハンドラをアンバインドできます一度それが一度使用されたら? –
やPeteのコメントと似ていますが、jqueryのデータ機能を使用して要素自体にデータを割り当ててから、その要素ごとにチェックすることができます。これにより、多くの要素を個別に割り当てることができます。 –