在今天的网页设计中,视频的应用已经不再新奇,尤其是对于商业、影视等大型网站,视频已经成为展示产品或者作品的重要手段。在这些网站开发过程中,经常需要用到切换视频的功能,而Javascript的强大功能可以让这一切变得轻松便捷。
先来看一个例子,一个银行网站需要在首页播放一段宣传视频,但是这段视频时间很长,很有可能会让用户失去耐心,所以需要设计师在页面上放置三个小按钮,分别是“视频1”、“视频2”、“视频3”,用户点击按钮之后,页面上的视频会顺序切换到指定视频。在Javascript中,需要用到媒体控制API,以及常规的DOM操作,以下是代码实现:
var video1 = document.getElementById("video1"); var video2 = document.getElementById("video2"); var video3 = document.getElementById("video3"); var btn1 = document.getElementById("btn1"); btn1.onclick = function() { video1.style.display = "block"; video2.style.display = "none"; video3.style.display = "none"; }; var btn2 = document.getElementById("btn2"); btn2.onclick = function() { video1.style.display = "none"; video2.style.display = "block"; video3.style.display = "none"; }; var btn3 = document.getElementById("btn3"); btn3.onclick = function() { video1.style.display = "none"; video2.style.display = "none"; video3.style.display = "block"; };
以上代码首先获取页面上三个视频元素和三个按钮元素,然后通过onclick事件监听每个按钮的点击事件。当用户点击“视频1”按钮时,将视频1显示出来,将视频2和视频3隐藏;当用户点击“视频2”按钮时,将视频2显示出来,将视频1和视频3隐藏;当用户点击“视频3”按钮时,将视频3显示出来,将视频1和视频2隐藏。界面更新的效果如下图所示:
再看一个例子,一个电商网站需要为每个商品添加一段介绍视频,并且需要在视频上方放置一个mini播放器,当用户点击播放按钮时,视频开始播放,而原来的若干个商品介绍视频则自动停止。在这个新的需求中,需要使用到“自动暂停播放”、“获取元素位置”和“设置元素位置”的Javascript方法,具体代码如下:
var videos = document.querySelectorAll(".video"); var videoPlayer = document.getElementById("videoPlayer"); for (var i = 0; i< videos.length; i++) { videos[i].addEventListener("click", function() { videoPlayer.pause(); var x = this.getBoundingClientRect().left; var y = this.getBoundingClientRect().top; videoPlayer.style.left = x + "px"; videoPlayer.style.top = y + "px"; videoPlayer.src = this.dataset.src; videoPlayer.play(); }); }
以上代码首先获取页面上所有的视频元素,然后为每个视频添加一个点击事件。当用户点击某个视频时,代码将暂停所有的视频播放,并获取当前视频相对于页面左上角的位置坐标,然后将mini播放器的位置设置为当前视频位置,同时将mini播放器的视频设置为当前视频的源,并开始播放。界面更新的效果如下图所示:
通过以上两个实例,可以看出Javascript在实现视频切换功能上的独到之处,而且这个功能相对其他语言实现起来非常简单、高效。当然,如果需要更加复杂的视频切换功能,比如视频缓存、视频转换、视频特效等等,Javascript也提供了相应的库和插件,可以大大减少开发者的工作量,提高开发效率。