2017-05-27 12 views
0

divが表示されるときにhtmlページをリフレッシュしようとしています...どこが間違っているのかわかりません。 divslide.jsは、設定された時刻に表示スタイルをなしからインラインに切り替えます。私はidをfinalにしたdivでページを更新し、各divをループバックするようにします。ここで可視性の変更後の場所の更新

はhtmlです...

<div id="video" class="mySlides"><video autoplay><source src="icx.mp4" 
type="video/mp4"></video></div> 
<div id="widescreen" class="mySlides"> 
<!--<div id="written"><video autoplay><source src="written.mp4" 
type="video/mp4"></video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div> 
<div id="tbd"><video autoplay><source src="tbd.mp4" type="video/mp4"> 
</video></div>--> 
</div> 

<div id="final" class="mySlides"></div> 

私はjqueryの3.1.1をリンクされているし、使用しようとしています...

if($('#final').is(':visible')) 
{ 
location.reload(); 
} 

はかなり基本的なようだが、それは動作しません。

+0

なぜループのためにあなたのjsを投稿し、ページを更新し、ページを更新するナットである、ちょうどループを再起動してください。 –

答えて

0

スライドを再起動する方法は...まあ...ナットです。

ここであなたのjsがなければ、基本的に何をしたいのですか?

HTML

​​

CSS

div { 
    height: 100px; 
    width: 300px; 
    display: none; 
} 
#div1 { 
    background-color: red; 
    display: block; 
} 
#div2 { 
    background-color: blue; 
} 
#div3 { 
    background-color: orange; 
} 
#div4 { 
    background-color: green; 
} 

jQueryの

// Create an array of the video divs. 
var videos = [ 
    "div1", 
    "div2", 
    "div3", 
    "div4" 
] 
var videos = [ 
    ["div1", 4000], 
    ["div2", 6000], 
    ["div3", 11000], 
    ["div4", 5900], 
] 

// Initate a counter at 1 because you're going to show the first video by default. 
var counter = 1; 
setInterval(function(){ 
    // Hide all the video divs 
    $(".video").hide(); 
    // Show the video div based on the counter 
    $("#" + videos[counter][0]).show(); 
    // Reset the video to the beginning 
    $("#video" + [counter]).load(); 
    // Play the video 
    $("#video" + [counter]).play(); 

    //Increment the counter if there are still more divs to show, otherwise reset it to 0 
    counter == videos.length-1 ? counter = 0 : counter++; 
}, videos[counter][1]); 

アクションでそれを示すJSFiddle:https://jsfiddle.net/nky4n2cx/

+0

ありがとうございます...これは間違いなく良いアプローチです。しかし、3000を使用する代わりに、ビデオ全体を表示するにはどうすればよいですか?また、私はビデオをループさせるのではなく再起動させようとしています。これが私がページをリフレッシュしようとしていた理由です。私はビデオが目に見えるようになったときに再生の途中にあることを望んでいません。最初から実行してほしいです。 – KevMoe

+0

インターバル変数を作成する方法を示すために、私の答えにコードを編集しました。各ビデオの長さをmsで知り、それを配列に追加するだけです。基本的なHTML5動画要素を使用してスライドが変更されたときに、最初から動画を開始して再生する方法も追加しました。動作しなければならないが、私はそれをテストする無料のビデオストリーミングサービスについて知らない。 –

+0

もう一度おねがいします...アレイは、設定された時間に基づいてそれぞれがループしているという意味で今働いています。しかし、今私はビデオを読み込もうとするとインデックスを認識していません。 – KevMoe

関連する問題