原生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 相关文章推荐
JS模拟面向对象全解(一、类型及传递)
Jul 13 Javascript
使用js实现的简单拖拽效果
Mar 18 Javascript
JavaScript输出当前时间Unix时间戳的方法
Apr 06 Javascript
JavaScript用select实现日期控件
Jul 17 Javascript
jQuery ui autocomplete选择列表被Bootstrap模态窗遮挡的完美解决方法
Sep 23 Javascript
利用Vue.js实现checkbox的全选反选效果
Jan 18 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
Sep 22 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
Jun 20 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
Feb 10 Javascript
vue项目中使用vue-layer弹框插件的方法
Mar 11 Javascript
JavaScript手写数组的常用函数总结
Nov 22 Javascript
利用JavaScript为句子加标题的3种方法示例
Jan 05 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通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
htm调用JS代码
2007/03/15 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
js 实现css风格选择器(压缩后2KB)
2012/01/12 Javascript
js浏览器本地存储store.js介绍及应用
2014/05/13 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
javascript实现拖动元素交换位置
2015/11/29 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
让Vue也可以使用Redux的方法
2018/05/23 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
详解Vite的新体验
2021/02/22 Javascript
Python线性回归实战分析
2018/02/01 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
如何用python整理附件
2018/05/13 Python
Python使用combinations实现排列组合的方法
2018/11/13 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
python浪漫表白源码
2019/04/05 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
英国知名奢侈品包包品牌:Milli Millu
2016/12/22 全球购物
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
网络教育自我鉴定
2013/11/01 职场文书
捐书倡议书
2014/08/29 职场文书
合同和协议有什么区别?
2014/10/08 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
医院科室评语
2015/01/04 职场文书
2015自愿离婚协议书范本
2015/01/28 职场文书