html5中对于volume属性的运用详解-
下面是我做的音乐播放器怎样调理音频音量的代码:
//添加切换音量事件 (function(){ var height = $("#myAudio ul.control li.volume .alert-box .volume-wrap .bar .scroll-bar").height(); $("#myAudio ul.control li.volume .alert-box .volume-wrap .bar .scroll-bar .scroll-btn").on("mousedown",function(e){ e.preventDefault(); var downHeight = $("#myAudio ul.control li.volume .alert-box .volume-wrap .bar .scroll-bar").height(); var downY = e.clientY; document.onmousemove = function(e){ e.preventDefault(); var moveY = e.clientY; var nowHeight = downY-moveY+downHeight; if(nowHeight<=0){ nowHeight =0; }else if(nowHeight >= height){ nowHeight = height; } $("#myAudio ul.control li.volume .alert-box .volume-wrap .bar .scroll-bar").height(nowHeight); var precent = nowHeight/height; audio.volume = precent; } document.onmouseup = function(){ document.onmousemove = null; document.onmouseup = null; } }); })();
上面的主要思绪:声明height变量先猎取调理音量的滑动条的高度(设定的是80px),
给滑动条上的滑动块绑定mousedown事件,取消其默许事件e.preventDefault();
声明downHeight猎取未滑动时的音量滑动条的高度, 声明downY猎取点击位置距离窗口上方的y(垂直)标的目的距离var downY = e.clientY;
给整个dom增加mousemove事件,取消其默许事件e.preventDefault();
声明moveY猎取光标挪移到的位置距离窗口上方的y(垂直)标的目的距离var moveY = e.clientY;
声明nowHeight猎取调理后音量滑动条的高度var nowHeight = downY-moveY+downHeight;
由于滑动条的高度为80px,所以鄙人面推断了一下
if(nowHeight <=0){ nowHeight=0;//最小值为0(对应volume静音) }else if(nowHeight>=height){ nowHeight=height;//最大值为80px(对应volume最大值1) }
将调理后的音量条高度赋值给滑动条,实现调理时滑动条同步变换高度;
因为音量vojume的取值范畴(0-1),让nowHeight/height 得到调理后高度对总体高度的百分比,值为(0-1)
最后将这个值给予audio.volume=nowHeight/height;
当调理完毕后,松开鼠标增加mouseup事件,将mousemove和mouseup事件都清空
以上就是html5中对于volume属性的运用详解的细致内容,更多请关注 百分百源码网 其它相干文章!