2016-12-12 10 views
1

私はポスターとCSS再生オーバーレイボタンを持つHTML5ビデオを持っています。私はそれがポスターと再生オーバーレイボタンを再び表示するように終了したら、ビデオを読み込むようにしようとしています。Javascript Parserエラー

私は次のコードを試しましたが、最後の行にParserエラーが表示されます。誰かが私を助けて、私が間違っていることを教えてください!

$(document).ready(function() { 
    $('.video').parent().click(function() { 
    if ($(this).children(".video").get(0).paused) { 
     $(this).children(".video").get(0).play(); 
     $(this).children(".playpause").fadeOut(); 
    } else { 
     $(this).children(".video").get(0).pause(); 
     $(this).children(".playpause").fadeIn(); 
    } 
    }); 

    var video= $(".video").get(0); 
    video.addEventListener('ended',function() { 
    video.load(); 
    $(".playpause").show();        
    }, false); 
}); 
+2

も参照してください。そして、正確なエラーメッセージは...? – j08691

+3

エラーは表示されません。コードを適切にインデントすると役立ちます。 – putvande

+1

HTMLを追加すると助けになります。 – Ionut

答えて

1

setTimeout()コール内clickハンドラ内if文をラップし、

Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause(). 

エラーを防ぐために。

How to prevent "The play() request was interrupted by a call to pause()" error?

$(document).ready(function() { 
 
    $('.video').parent().click(function() { 
 
    var vid = $(this).children(".video").get(0); 
 
    setTimeout(function() { 
 
    if (vid.paused) { 
 
     vid.play(); 
 
     $(this).children(".playpause").fadeOut(); 
 
    } else { 
 
     vid.pause(); 
 
     $(this).children(".playpause").fadeIn(); 
 
    } 
 
    }) 
 
    }); 
 

 
    var video= $(".video").get(0); 
 
    video.addEventListener('ended',function() { 
 
    video.load(); 
 
    $(".playpause").show();        
 
    }, false); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
click<br> 
 
<span class="playpause">play pause</span> 
 
<video controls class="video" poster="https://placehold.it/350x150" src="https://nickdesaulniers.github.io/netfix/demo/frag_bunny.mp4"></video> 
 
</div>