2016-04-07 15 views
0

絶対幅のビデオを絶対位置、画像をクリックすると再生するdiv、ビデオの上にテキストを含むdivがあります。再生ボタンをクリックした後にビデオを遅らせる

フェードアウトするテキストの再生ボタンをクリックした後、テキストがフェードアウトした後、ビデオがフェードインするようにするには、ビデオがフェードアウトするための一時停止ボタンをクリックします後でテキストがフェードインするようにします。

何かに近いものを実現しましたが、何らかの理由で再生ボタンをクリックしたときにビデオフェードインを遅らせることができません。 2回目のクリック後、正常に動作するようです。ここで

は私のコードです:

`<video preload="none" id="myVideo" width="100%" > 
<source src="wp-content/themes/quill/images/video.mp4" type="video/mp4"> 
</video>` 

`<script src="https://code.jquery.com/jquery-2.2.3.js"></script> 
<script> 
var vid = document.getElementById("myVideo"); 

function playVid() { 
    vid.play(); 
} 

function pauseVid() { 
    vid.pause(); 
} 
</script> 

<script> 
    $("#play").click(function(){ 
     $("#pause").fadeIn(1000); 
     $("#myVideo").delay(1500).fadeIn(2000); 
     $("#play").fadeOut(1000); 
     $(".toph1").fadeOut(1000); 
     $(".toph2").fadeOut(1000); 
     $(".introduction").fadeOut(1000); 
     $(".howitworks").fadeOut(1000); 
     $(".logo").fadeOut(1000); 
    }); 
</script> 

<script> 
    $("#pause").click(function(){ 
     $("#play").fadeIn(1000); 
     $(".toph1").fadeIn(1000); 
     $(".toph2").fadeIn(1000); 
     $(".introduction").fadeIn(1000); 
     $(".howitworks").fadeIn(1000); 
     $(".logo").fadeIn(1000); 
     $("#pause").fadeOut(1000); 
     $("#myVideo").fadeOut(0); 
    }); 
</script>` 

私はページの下部にスクリプトを追加しました。

$("#div").fadeOut("slow", function() { 
    setTimeout(function() {vid.play();}, 750) 
    }); 

機能で:

setTimeout(function() { 
    // do here.. 
}, 750) 

答えて

1

、タイムアウト機能を使用しよう上記の呼び出しは、フェードアウトアニメーションが完了したときにのみトリガされます。 #divを正しいIDに変更する必要があります。

http://api.jquery.com/fadeout/#fadeOut-duration-complete

+0

私はこれでした:のsetTimeout(機能playVid(){vid.play();}、2000)が、今の映像は、2秒後にそれ自身に再生を開始します。 – raduzrc

+1

正しい行は:function playVid(){setTimeout(function(){vid.play();、750);}ありがとうございました – raduzrc

1

フェードアウトが完了機能のために渡すことができる別のオプションのパラメータがあります:あなたは遅れを持たせたい場合は

+0

答えに同じ問題があります:ビデオにタイムアウトがありますが、彼自身の – raduzrc

+0

だから、あなたはビデオを再生するのではなく、オブジェクトがフェードアウトしたときにフェードインしたいのですか?そうであれば、settimeoutを次のように置き換えます: '$("#myVideo ")。delay(1500).fadeIn(2000)' – imvain2

+0

その行は$( "#play"それは動作しますが、再生ボタンの2回目のクリックの後でのみ動作します。初めてクリックすると、瞬時に表示されます – raduzrc

関連する問題