2016-09-01 3 views
2

アニメーション要素が読み込まれると、最初のビューには表示されません。その特定の要素にスクロールすると、アニメーションは既に停止しています。ビューにはありますが、jqueryプラグインは一切ありません。そのような効果を得るためのJavaScript関数はありますか?ありがとうございます。アニメーションが表示されているときにのみアニメーションを動作させる方法

Here is my code <https://jsfiddle.net/6pxwgkro/1/> 
+0

トピックになるように質問してください:デバッグのヘルプを求める質問(「**なぜこのコードは動作しませんか?**」)には、以下が含まれていなければなりません:►望ましい動作、►特定の問題またはエラー*それを再現するのに必要な最短コード**明確な問題文がない質問は、他の読者にとって有用ではありません。参照してください: "**どのように[mcve] **を作成するか"、[ここで私はどんな話題を聞くことができますか?](http://stackoverflow.com/help/on-topic)、[ask] – Makyen

+0

@HermLuna jqueryプラグインを試しましたが、それはページの他のエフェクトに影響を与え、アニメーションも機能しません。 –

答えて

0

jQueryを使用せずに立ち去ることができるかもしれませんが、JavaScriptが必要です。あなたができる最善のことは、その中にスペース(スパン、DIVもの)を持つ要素を作成し、それをビューポートに

function amIVisible(elem) { 
var top = elem.offsetTop; 
var left = elem.offsetLeft; 
var width = elem.offsetWidth; 
var height = elem.offsetHeight; 

while(elem.offsetParent) { 
elem = elem.offsetParent; 
top += elem.offsetTop; 
left += elem.offsetLeft; 
} 

return (
top < (window.pageYOffset + window.innerHeight) && 
left < (window.pageXOffset + window.innerWidth) && 
(top + height) > window.pageYOffset && 
(left + width) > window.pageXOffset 
); 
} 

で、上記の関数がtrueを返した場合、その後作成かどうかをチェックするために、次のコードを使用していますアニメーションを行うクラスでチェックした要素のすぐ下のjsでアニメーションされる必要があるdiv。

関連する問題