原生js+css调节音量滑块


Posted in Javascript onJanuary 15, 2020

本文实例为大家分享了js调节音量滑块的具体代码,供大家参考,具体内容如下

效果

原生js+css调节音量滑块

html部分

<body>
<div class="all">
<p>当前位置0%</p>
<div class="bar">
<div class="box"></div>
</div>
</div>
</body>

css部分

<style>
.all {
width: 500px;
height: 80px;
margin: 100px auto;
position: relative;
}

.bar {
width: 500px;
height: 20px;
border-radius: 10px;
background: #aaa;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
cursor: pointer;
}

.box {
width: 30px;
height: 30px;
background: #000;
position: absolute;
bottom: 0;
top: 0;
margin: auto 0;
border-radius: 50%;
cursor: pointer;
transition: left 0.1s linear 0s;
}
</style>

js逻辑

<script>
var box = document.getElementsByClassName('box')[0]
var bar = document.getElementsByClassName('bar')[0]
var all = document.getElementsByClassName('all')[0]
var p = document.getElementsByTagName('p')[0]
var cha = bar.offsetWidth - box.offsetWidth
box.onmousedown = function (ev) {
let boxL = box.offsetLeft
let e = ev || window.event //兼容性
let mouseX = e.clientX //鼠标按下的位置
window.onmousemove = function (ev) {
let e = ev || window.event
let moveL = e.clientX - mouseX //鼠标移动的距离
let newL = boxL + moveL //left值
// 判断最大值和最小值
if (newL < 0) {
newL = 0
}
if (newL >= cha) {
newL = cha
}
// 改变left值
box.style.left = newL + 'px'
// 计算比例
let bili = newL / cha * 100
p.innerHTML = '当前位置' + Math.ceil(bili) + '%'
return false //取消默认事件
}
window.onmouseup = function () {
window.onmousemove = false //解绑移动事件
return false
}
return false
};
// 点击音量条
bar.onclick = function (ev) {
let left = ev.clientX - all.offsetLeft - box.offsetWidth / 2
if (left < 0) {
left = 0
}
if (left >= cha) {
left = cha
}
box.style.left = left + 'px'
let bili = left / cha * 100
p.innerHTML = '当前位置' + Math.ceil(bili) + '%'
console.log(left)
return false
}
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jQuery的Tab选项框效果代码(插件)
Mar 01 Javascript
css+js实现部分区域高亮可编辑遮罩层
Mar 04 Javascript
JavaScript中常见获取元素的方法汇总
Mar 04 Javascript
AngularJs  E2E Testing 详解
Sep 02 Javascript
AngularJS 所有版本下载地址
Sep 14 Javascript
jQuery中Datatables增加跳转到指定页功能
Feb 08 Javascript
vue图片加载与显示默认图片实例代码
Mar 16 Javascript
JavaScript 正则命名分组【推荐】
Jun 07 Javascript
JavaScript中click和onclick本质区别与用法分析
Jun 07 Javascript
vue.js 实现点击按钮动态添加li的方法
Sep 07 Javascript
element-ui 时间选择器限制范围的实现(随动)
Jan 09 Javascript
vue选项卡切换登录方式小案例
Sep 27 Javascript
Vue 图片压缩并上传至服务器功能
Jan 15 #Javascript
JS函数进阶之继承用法实例分析
Jan 15 #Javascript
JS函数进阶之prototy用法实例分析
Jan 15 #Javascript
JS函数基本定义与用法示例
Jan 15 #Javascript
JS几个常用的函数和对象定义与用法示例
Jan 15 #Javascript
JS自定义对象创建与简单使用方法示例
Jan 15 #Javascript
vue移动端使用canvas签名的实现
Jan 15 #Javascript
You might like
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
PHP遍历XML文档所有节点的方法
2015/03/12 PHP
javascript奇异的arguments分析
2010/10/20 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
使用Math.floor与Math.random取随机整数的方法详解
2013/05/07 Javascript
JS中获取数据库中的值的方法
2013/07/14 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
javascript动态向网页中添加表格实现代码
2014/02/19 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
javascript Deferred和递归次数限制实例
2014/10/21 Javascript
JS扩展方法实例分析
2015/04/15 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
2017/01/13 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Python使用爬虫猜密码
2016/02/19 Python
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
python实现跨excel的工作表sheet之间的复制方法
2018/05/03 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
详解python解压压缩包的五种方法
2019/07/05 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
python实现知乎高颜值图片爬取
2019/08/12 Python
python hash每次调用结果不同的原因
2019/11/21 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
Python configparser模块操作代码实例
2020/06/08 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
HTML5 Canvas阴影使用方法实例演示
2013/08/02 HTML / CSS
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
简历自荐信
2013/12/02 职场文书
公司会计岗位职责
2014/02/13 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
终止合同协议书范本
2016/03/22 职场文书