2016-05-15 118 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

谢谢!效果很好 –