原生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 相关文章推荐
一个不错的应用,用于提交获取文章内容,不推荐用
Mar 03 Javascript
JS读取cookies信息(记录用户名)
Jan 10 Javascript
JS下载文件|无刷新下载文件示例代码
Apr 17 Javascript
javascript自定义的addClass()方法
May 28 Javascript
JS实现下拉菜单赋值到文本框的方法
Aug 18 Javascript
javascript动态获取登录时间和在线时长
Feb 25 Javascript
微信小程序 location API接口详解及实例代码
Oct 12 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
使用JS正则表达式 替换括号,尖括号等
Nov 29 Javascript
你应该知道的几类npm依赖包管理详解
Oct 06 Javascript
React Native实现地址挑选器功能
Oct 24 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
Feb 24 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仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
smarty表格换行实例
2014/12/15 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
jQuery EasyUI API 中文文档 - Tree树使用介绍
2011/11/19 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
详解React-Todos入门例子
2016/11/08 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
利用Console来Debug的10个高级技巧汇总
2018/03/26 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
vue 实现滚动到底部翻页效果(pc端)
2019/07/31 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
Python中请不要再用re.compile了
2019/06/30 Python
python getpass模块用法及实例详解
2019/10/07 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
linux面试题参考答案(9)
2015/01/07 面试题
实习单位接收函模板
2014/01/10 职场文书
新员工欢迎词
2014/01/12 职场文书
平安工地汇报材料
2014/08/19 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis
JavaScript分页组件使用方法详解
2021/07/26 Javascript
php修改word的实例方法
2021/11/17 PHP