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

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

  1. CSS3中font-face属性的用法详解

    CSS3中font-face属性的用法详解 @font-face是CSS3中的一个模块,主要是把自定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕 ...

  2. 教程-Delphi中Spcomm使用属性及用法详解

    Delphi中Spcomm使用属性及用法详解 Delphi是一种具有 功能强大.简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选 ...

  3. mediumtext_MySQL中tinytext、text、mediumtext和longtext等各个类型详解【图】

    MySQL中tinytext.text.mediumtext和longtext等各个类型详解[图] 07-29栏目:技术 TAG:mediumtext mediumtext 一.字符串类型 www.j ...

  4. php self this static,PHP 中 self、static、$this 的区别和后期静态绑定详解

    本篇文章给大家分享的内容是关于PHP 中 self.static.$this 的区别和后期静态绑定详解,有着一定的参考价值,有需要的朋友可以参考一下 self.static 和 $this 的区别 为 ...

  5. java构造块_java中的静态代码块、构造代码块、构造方法详解

    运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...

  6. (转)web.xml 中的listener、 filter、servlet 加载顺序及其详解

    转: https://www.cnblogs.com/Jeely/p/10762152.html web.xml 中的listener. filter.servlet 加载顺序及其详解 一.概述 1. ...

  7. nmmqq.php?/lspc.html,html中的图片直接使用base64编码后的字符串代替详解

    网页中的图片是使用base64编码后的字符串代替了,这个叫做Data URI scheme,下面有个不错的示例,大家可以参考下 最近来了一个网页,里面有图片,但是却没有引用外部的图片资源,很好奇.查看 ...

  8. Java中常见RuntimeException与其他异常表及Exception逻辑关系详解

    Java中常见RuntimeException与其他异常表及Exception逻辑关系详解 前言 常见`RuntimeException` 其他错误类型 `Error`类 `Exception`类 E ...

  9. python使用视频_Python中操作各种多媒体,视频、音频到图片的代码详解

    我们经常会遇到一些对于多媒体文件修改的操作,像是对视频文件的操作:视频剪辑.字幕编辑.分离音频.视频音频混流等.又比如对音频文件的操作:音频剪辑,音频格式转换.再比如我们最常用的图片文件,格式转换.各 ...

最新文章

  1. Linux下挂载存储设备
  2. boost::msm::mpl_graph::incidence_list_graph相关的测试程序
  3. python和halcon_VisionPro和Halcon的详细对比
  4. ***不是已知元素 原因可能是网站中存在编译错误
  5. Mybatis各种模糊查询及#和$区别
  6. mysql 查询包含1或者2_Mysql:同一个表上有2个不同的查询,包含count和group by
  7. 01_python2.x和python3.x中range()的区别
  8. Inception v1
  9. GAT1400---基于libcurl库的开发
  10. Vmware虚拟机桥接模式设置
  11. 计算机添加pdf打印机驱动,给win7系统电脑安装PDF虚拟打印机的详细教程
  12. 数据结构课程设计(选):连连看
  13. 计算机桌面的图标怎么删除,桌面图标有蓝底怎么去掉,教您去掉电脑桌面图标蓝底的方法...
  14. filter grok 判断_logstash grok使用案例
  15. Genymotion 各对应版本
  16. 1.PhotoShop缩小图片的三种方式
  17. 64位 RT-Thread 移植到 Cortex-A53 系统 bug 修复笔记
  18. 数据库SQL(二):View(视图)详细
  19. PRML(3)--Chapter2(上)-概率分布-二元变量、多项式变量、高斯分布、指数族分布
  20. 【转】不花钱,自己查论文抄袭程度

热门文章

  1. (Docker实战) 第3篇:Centos7 拉取和部署Mysql
  2. Bigdecimal基本运算及小数保留方式枚举
  3. JavaScript-函数
  4. 非计算机专业教学改革,非计算机专业算法分析与设计教学改革论文
  5. qt中生成含有中文的json文件,读取含有中文的json文件
  6. React之props批量传递
  7. linux重新启动某一个项目,Linux运维知识之supervisor更改某项目配置后 需要重新启动才有效...
  8. 模拟微信支付服务器测试,专栏 - 腾讯WeTest-All Test in WeTest
  9. html匹配属性正则表达式,正则表达式匹配html标签的属性值
  10. python jsonpath-rw_Python使用jsonpath-rw模块处理Json对象操作示例