请问火狐的mozRequestFullScreen方法为何不生效
来源:4-5 video-javascript(2)
weibo_执著的弧线_0
2019-09-24 22:26:30
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>自定义视频播放器</title> <style type="text/css"> *{margin: 0;padding: 0;} .outer{ height: 332px; width: 540px; box-shadow: 0 0 4px #5b606d; margin: 50px auto; overflow: hidden; } .outer video{width:540px; height: 305px; float: left; background: #000; } .outer .controls{ height: 27px; width: 540px; background: url('images/ctrs_bg.gif')repeat-x; float: left; position: relative; } .outer .controls .playNode{ background: url('images/playNode.png')no-repeat center; height: 26px; width: 40px; float: left; margin-top: 2px; cursor: pointer; } .outer .controls .pauseNode{ background: url('images/pause.png')no-repeat center; height: 26px; width: 40px; float: left; margin-top: 2px; cursor: pointer; } .outer .controls .playLine{ position: relative; width: 267px; height: 10px; background: url('images/load_bg.png')repeat-x; margin: 9px 0 0 14px; float: left; cursor: pointer; } .outer .controls .playLine .leftLine{ background: url('images/left_bg.png')no-repeat center; height: 10px; width: 4px; position: absolute; left: -3px; } .outer .controls .playLine .rightLine{ background: url('images/right_bg.png')no-repeat center; height: 10px; width: 4px; position: absolute; left: 265px; } .outer .controls .playLine .lineNode{ background: url('images/crl_bg.png'); width: 17px; height: 17px; line-height: 27px; top: -2px; /*左边距为圆环的半径*/ left: -8.5px; position: absolute; cursor: pointer; } .outer .controls .playTime{ color: #fff; position: absolute; left: 332px; font-size:10px; line-height: 27px; } .outer .controls .volume{ background: url('images/volume_bg.png')no-repeat; height: 16px; width: 17px; line-height: 27px; top: 5px; position: absolute; margin-left: 402px; cursor: pointer; } .outer .controls .volumeLine{ width: 62px; height: 8px; background: url('images/volumeLine_bg.png')repeat-x; position: relative; left: 424px; top: 9.5px; cursor: pointer; } .outer .controls .volumeLine .v-left{ background: url('images/v_left.png'); width: 3px; height: 8px; position: absolute; right: 62px; top: 0px; } .outer .controls .volumeLine .v-right{ background: url('images/v_right.png'); width: 3px; height: 8px; position: absolute; right: -2px; top: 0px; } .outer .controls .volumeLine .v-node{ background: url('images/vo_d.png'); height: 13px; width:15px; position: absolute; top: -2px; left: -4px; cursor: pointer; } .outer .controls .fullScreen{ width: 15px; height: 17px; position: absolute; right: 2px; background: url('images/full_bg.png'); top: 5px; cursor: pointer; } </style> </head> <body> <div class="outer"> <video src="../data/imooc.mp4" poster="data/poster.jpg" class="videoNode"></video> <div class="controls"> <!-- 播放暂停 --> <div class="playNode"></div> <!-- 播放进度条 --> <div class="playLine"> <div class="leftLine"></div> <div class="rightLine"></div> <div class="lineNode"></div> </div> <!-- 播放时间 --> <div class="playTime"> <span class="curTime">2:30</span> <span>-</span> <span class="totalTime">4:00</span> </div> <!-- 声音 --> <div class="volume"></div> <div class="volumeLine"> <div class="v-left"></div> <div class="v-right"></div> <div class="v-node"></div> </div> <!-- 全屏 --> <div class="fullScreen"></div> </div> </div> <script type="text/javascript"> //播放按钮 var playNode = document.getElementsByClassName('.playNode')[0], // 视频资源节点 videoNode = document.getElementsByTagName('video')[0], //布尔值 暂停播放 Btnplay = true, //全屏播放按钮 fullScreen = document.getElementsByClassName('.fullScreen')[0], //当前时间 curTime = document.getElementsByClassName('.curTime')[0], //总时间 totalTime = document.getElementsByClassName('.totalTime')[0]; //播放、暂停的事件 playNode.onclick = function(){ //传统的通过布尔值去改变classname的方法 Btnplay = !Btnplay; if (Btnplay == false) { this.className = 'pauseNode'; videoNode.play(); }else{ this.className = 'playNode'; videoNode.pause(); } } //全屏和缩放 fullScreen.onclick = function(){ if(videoNode.webkitRequestFullscreen){ videoNode.webkitRequestFullscreen(); } else if(videoNode.mozRequestFullScreen){ videoNode.mozRequestFullScreen(); } else{ videoNode.requestFullscreen(); } }; // //时间不足10的解决方法 // addTime = function (n) { // return n<10? '0'+n:n; // } // //时间显示 // //时间显示-总时间 // videoNode.addEventListener('canplay',function () { // var totalTime = parseInt(videoNode.duration), // m = parseInt(totalTime/60), // s = totalTime%60, // totalTime_count = addTime(m)+':'+addTime(s); // // // }) </script> </body> </html>
1回答
同学你好, 首先, 我们修改代码中存在的语法错误。 通过getElementsByClassName获取元素,只需要传入对应的类名即可,不需要添加点, 建议修改:
然后, 我们再来分析,为什么同学的代码没有生效, 因为同学定义的变量名fullScreen, 与火狐浏览器自带的fullScreen值, 产生了冲突, 所以无法实现效果。
建议修改: 可以修改变量名
同学可以在测试一下哦
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~~
相似问题
回答 1
回答 1