BaiqiCMS V1.2.5 正式版

Nginx/IIS/Apache PHP5.3+ MySQL5.7+

外贸型/营销型/品牌企业网站建设首选CMS

js视频video点击某一个其它暂停

在一个html网页有多个video视频时,有时需要点击某个视频让其它的视频处于暂停状态,我们可以通过以下JS来处理。

js视频video点击某一个其它暂停

// 获取页面上所有的video
var videos = document.getElementsByTagName("video");
// 暂停函数
function pauseAll() {
	var self = this;
	[].forEach.call(videos, function (i) {
		// 将videos中其他的video全部暂停
		i !== self && i.pause();
	})
}
// 给play事件绑定暂停函数
[].forEach.call(videos, function (i) {
	i.addEventListener("play", pauseAll.bind(i));
})

[].forEach.call()是什么意思

[].forEach.call(list, fun)是个简写的写法,完整的写法是:Array.prototype.forEach.call(...);  这个意思就是,将list使用forEach来遍历,fun作为参数传入forEach方法中,fun中的this也指向了list。相当于:

function forEach(elems, callback) {
  if([].forEach) {
    [].forEach.call(elems, callback);
  } else {
    for(var i = 0; i < elems.length; i++) {
      callback(elems[i], i);
    }
  }
}

js - callback()回调函数

回调函数是一种特殊的函数,它作为参数传递给另一个函数,并在被调用函数执行完毕后被调用。
即:函数a的参数为函数b,当函数a执行完之后再去执行b
作用:回调函数通常用于事件处理、异步编程和处理各种操作系统和框架的API

function a(callback) {      
   console.log("执行函数a!");   
   console.log("调用回调函数");   
   callback(); // 调用回调函数
}

function b(){ console.log("回调函数b"); }   

function c() { console.log("回调函数c"); }   
  
function execute(){ a(b); a(c); }

execute();

×
BaiqiCMS官方客服

微信二维码

关闭