2016-06-18 11 views
0

私はWebページを作成していますし、私はそこのMP4ビデオを持っている:私もJSコードの一部を書いたユーザーがビデオをhtml5で再生するには、どうすればいいですか?

<video class="video--app" id="myVideo" autoplay="" muted="" preload="auto"> 
    <source src="./img/video.mp4" type="video/mp4"> 
</video> 

setTimeout(function(){ 
      document.getElementById("myVideo").play(); 
     }, 1500); 

をしているが、ほとんどOK作品、映像は後に再生を開始1.5秒。しかし、私はそれを変更し、最初に画面に表示されたときにビデオを再生したいと思っています。それを達成するために私のJSコードをどのように変更すべきですか? ありがとう!

答えて

4

This answer要素が表示されているかどうかをチェックするための機能を持っています

function isScrolledIntoView(el) { 
    var elemTop = el.getBoundingClientRect().top; 
    var elemBottom = el.getBoundingClientRect().bottom; 

    var isVisible = (elemTop >= 0) && (elemBottom <= window.innerHeight); 
    return isVisible; 
} 

したがって、ユーザーがスクロールした後、あなたがビデオをかどうかを確認でき表示されている場合は開始してください:

var videoEl = document.getElementById("myVideo"); 
var videoWasStarted = false; 

window.addEventListener('scroll', function(e) { 
    if (isScrolledIntoView(videoEl) && !videoWasStarted) { 
    videoWasStarted = true; 
    videoEl.play(); 
    } 
}); 
+0

ありがとう、ほとんど私のために働いた!ここでもう1つ質問してください。ビデオを一度しか再生しないで再生する方法はありますか? – user3766930

+1

@ user3766930私の答えを編集しました – Schlaus

-1

あなたの人生を楽にするためにjQueryを含めることができます。 私の提案は、このポストから構成されている:check-if-element-is-visible-on-screen

function isOnScreen(element) 
{ 
    var curPos = element.offset(); 
    var curTop = curPos.top; 
    var screenHeight = $(window).height(); 
    return (curTop > screenHeight) ? false : true; 
} 
if(isOnScreen($('#myVideo'))) { $('#myVideo').play();}; 
+2

にjQueryライブラリを追加することを忘れないでください(http://i.stack.imgur.com/ssRUr.gif) –

+0

[ "* jQueryのは、人生が容易になります*"] @デレク朕會功夫、あなたは私に同意するか、あなたは皮肉っていますか?個人的には、 "document.getElementById"と入力するのに疲れました。 – grateful

+0

@Derek朕會功夫、あなたのリンクを見ただけでいいですよ。 – grateful

1

使いやすさのためにJqueryを使用してください。スクロール機能を使用すると、ユーザーがビデオにスクロールすると、ビデオが再生されます。

$(window).scroll(function(){ 
    var wScroll = $(this).scrollTop(); 
    if(wScroll > $('#myVideo').offset().top - ($(window).height()/1.2)) { 
     $('#myVideo').get(0).play() 
    } 
}); 

は、あなたのHTML

<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script> 
関連する問題