2016-05-15 117 views
1

我使用的是隱藏在網頁上的視頻div,並使用javascript keypress將其視覺效果隱藏起來。即使div被隱藏,當頁面加載時,我仍然可以聽到聲音。 1.當div被隱藏時是否可以靜音? 或 2.是否可以在切換div可見性時開始/停止播放?隱藏隱藏的div(視頻)html5

$(document).keypress(function(e) { 
    var key = e.which; 
    if (key == 116) { 
    // if the user pressed 't': 
    $('div').toggle(); 
    } 
}); 

在此先感謝!

+0

確保您的視頻元素沒有啓用自動播放功能,和/或設置爲靜音。當您切換div使用.play來啓動視頻並且.stop在隱藏元素 – Offbeatmammal

回答

1

要給出完整的答案,您應該確保您的<video />標記沒有autoplay屬性,以防止頁面加載後立即啓動該屬性,併爲其提供id屬性,以便您可以訪問它。然後,當用戶切換能見度開始,你可以使用一些基本的JavaScript /暫停播放:

玩,你可以:

document.getElementById('your-video-id').play(); 

而暫停:

document.getElementById('your-video-id').pause(); 

所以你的按鍵功能可能會變爲:

$(document).keypress(function(e) { 
    var key = e.which; 
    // Grab a reference to your video 
    var video = document.getElementById('your-video-id'); 

    if (key == 116) {   
    // if the user pressed 't': 
    $('div').toggle(); 

    // Check if the video is paused, if it is then play, if it's playing then pause. 
    if(video.paused){ 
     video.play(); 
    } else { 
     video.pause(); 
    } 

    } 
}); 
+0

Works時停止它。有沒有辦法重置視頻始終從頭開始播放? –

+0

您應該能夠在切換暫停視頻後將視頻的currentTime屬性設置爲0。 所以'else {video.pause(); video.currentTime = 0; }' –

+0

謝謝!效果很好 –