• 技术文章 >web前端 >js教程

    js如何实现调节音量滑块

    王林王林2020-03-23 09:42:33转载960

    首先,我们来看一下效果:

    e8bc328ab5f45cf49c16727dbfb8141.png

    (推荐教程:javascript教程

    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特效

    以上就是js如何实现调节音量滑块的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:脚本之家,如有侵犯,请联系admin@php.cn删除
    专题推荐:js
    上一篇:js如何实现简单的表格增删效果 下一篇:js如何实现动态无缝轮播
    千万级数据并发解决方案

    相关文章推荐

    • js如何判断打开项目的浏览器类别• js如何实现滑动门效果• js如何利用键盘事件实现人物行走• js如何实现简单的表格增删效果
    1/1

    PHP中文网