HTML5中volume样式自定义,html5中关于volume属性的使用详解

Audio对象属性: volume 描述:设置或返回音频的音量,取值范围(0——1)

下面是我做的音乐播放器如何调节音频音量的代码://增加切换音量事件

(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事件都清空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值