以下代码案例,是考虑页面中同时出现audio或video时,进行相互关闭综合写法。
<script type="text/javascript">
$(function(){
var _audios = $('audio'),
_videos = $('video');
/**
* 停止非当前播放项
* @param _type 0为当前播放为audio,1为当前播放为video
* @param _index 当前播放所以位置索引
*/
function pausePlay(_type, _index){
//关闭audio
for(var i = 0; i < _audios.length; i++){
if(_type==0){
if(i!=_index){
_audios[i].pause();
_audios[i].currentTime = 0;
}
}else{
_audios[i].pause();
_audios[i].currentTime = 0;
}
}
//关闭video
for(var j = 0; j < _videos.length; j++){
if(_type==1){
if(j!=_index){
_videos[j].pause();
_videos[j].currentTime = 0;
}
}else{
_videos[j].pause();
_videos[j].currentTime = 0;
}
}
}
_audios.each(function(index){
//监听audio播放事件
$(this).on('playing', function(){
pausePlay(0, index);
});
});
_videos.each(function(index){
//监听video播放事件
$(this).on('playing', function(){
pausePlay(1, index);
});
});
});
</script>