原生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 相关文章推荐
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 Javascript
模拟一个类似百度google的模糊搜索下拉列表
Apr 15 Javascript
js取得html iframe中的元素和变量值
Jun 30 Javascript
JavaScript实现身份证验证代码
Feb 17 Javascript
ReactJs快速入门教程(精华版)
Nov 28 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
Feb 05 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
详解VueJs前后端分离跨域问题
May 24 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
Aug 16 Javascript
vue监听用户输入和点击功能
Sep 27 Javascript
15分钟学会vue项目改造成SSR(小白教程)
Dec 17 Javascript
js实现视图和数据双向绑定的方法分析
Feb 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检测移动设备类mobile detection使用实例
2014/04/14 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
jquery动态加载select下拉框示例代码
2013/12/10 Javascript
JavaScript实现梯形乘法表的方法
2015/04/25 Javascript
jQuery的extend方法【三种】
2016/12/14 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
Vue.js基础学习之class与样式绑定
2017/03/20 Javascript
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Vue使用CDN引用项目组件,减少项目体积的步骤
2020/10/30 Javascript
javascript实现倒计时关闭广告
2021/02/09 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
Python常用库大全及简要说明
2020/01/17 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
python连接mysql有哪些方法
2020/06/24 Python
为智能设备设计个性化保护套网站:caseable
2017/01/05 全球购物
美国零售商店:Blue&Cream
2017/04/07 全球购物
印尼值得信赖的在线交易网站:Bukalapak
2019/03/11 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
公司同意接收函
2014/01/13 职场文书
大学生个人事迹材料
2014/01/21 职场文书
教学实验楼管理制度
2014/02/01 职场文书
幼儿园元旦亲子活动方案
2014/02/17 职场文书
车辆年审委托书范本
2014/09/18 职场文书
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python
python可视化分析绘制带趋势线的散点图和边缘直方图
2022/06/25 Python