原生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实现加入收藏夹的代码
Oct 24 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
Feb 05 Javascript
javascript模拟命名空间
Apr 17 Javascript
JavaScript 常见安全漏洞和自动化检测技术
Aug 21 Javascript
JavaScript 模块的循环加载实现方法
Dec 13 Javascript
利用D3.js实现最简单的柱状图示例代码
Dec 09 Javascript
实例解析Array和String方法
Dec 14 Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
Feb 13 Javascript
Vue.directive自定义指令的使用详解
Mar 10 Javascript
详细教你微信公众号正文页SVG交互开发技巧
Jul 25 Javascript
通过javascript实现扫雷游戏代码实例
Feb 09 Javascript
Vue router安装及使用方法解析
Dec 02 Vue.js
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抽奖小程序的实现代码
2013/06/18 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
PHP命令Command模式用法实例分析
2018/08/08 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
基于vue2实现左滑删除功能
2017/11/28 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
微信小程序实现简单评论功能
2018/11/28 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
JS PHP字符串截取函数实现原理解析
2020/08/29 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
python中bisect模块用法实例
2014/09/25 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
Anaconda2 5.2.0安装使用图文教程
2018/09/19 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
Python 跨.py文件调用自定义函数说明
2020/06/01 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
HTML利用九宫格原理进行网页布局
2020/03/13 HTML / CSS
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
小学端午节活动方案
2014/03/13 职场文书
应届生面试求职信
2014/07/02 职场文书
我的中国梦演讲稿1000字
2014/08/19 职场文书
入党介绍人意见2015
2015/06/01 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书
使用Spring处理x-www-form-urlencoded方式
2021/11/02 Java/Android
Java中的Kotlin 内部类原理
2022/06/16 Java/Android