欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

原生js+css調(diào)節(jié)音量滑塊

 更新時(shí)間:2020年01月15日 11:55:14   作者:孫華鵬  
這篇文章主要介紹了原生js+css調(diào)節(jié)音量滑塊,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了js調(diào)節(jié)音量滑塊的具體代碼,供大家參考,具體內(nèi)容如下

效果

html部分

<body>
<div class="all">
<p>當(dāng)前位置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 //鼠標(biāo)按下的位置
window.onmousemove = function (ev) {
let e = ev || window.event
let moveL = e.clientX - mouseX //鼠標(biāo)移動(dòng)的距離
let newL = boxL + moveL //left值
// 判斷最大值和最小值
if (newL < 0) {
newL = 0
}
if (newL >= cha) {
newL = cha
}
// 改變left值
box.style.left = newL + 'px'
// 計(jì)算比例
let bili = newL / cha * 100
p.innerHTML = '當(dāng)前位置' + Math.ceil(bili) + '%'
return false //取消默認(rèn)事件
}
window.onmouseup = function () {
window.onmousemove = false //解綁移動(dòng)事件
return false
}
return false
};
// 點(diǎn)擊音量條
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 = '當(dāng)前位置' + Math.ceil(bili) + '%'
console.log(left)
return false
}
</script>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript設(shè)計(jì)模式之中介者模式Mediator

    javascript設(shè)計(jì)模式之中介者模式Mediator

    這篇文章主要介紹了javascript設(shè)計(jì)模式之中介者模式Mediator,需要的朋友可以參考下
    2014-12-12
  • bootstrap table服務(wù)端實(shí)現(xiàn)分頁(yè)效果

    bootstrap table服務(wù)端實(shí)現(xiàn)分頁(yè)效果

    這篇文章主要為大家詳細(xì)介紹了bootstrap table服務(wù)端實(shí)現(xiàn)分頁(yè)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • webpack 處理CSS資源的實(shí)現(xiàn)

    webpack 處理CSS資源的實(shí)現(xiàn)

    這篇文章主要介紹了webpack 處理CSS資源的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • javascript 常見(jiàn)的閉包問(wèn)題的解決辦法

    javascript 常見(jiàn)的閉包問(wèn)題的解決辦法

    javascript 常見(jiàn)的閉包問(wèn)題的解決辦法,需要的朋友可以參考下。
    2009-11-11
  • 微信小程序?qū)崿F(xiàn)列表?xiàng)l件篩選

    微信小程序?qū)崿F(xiàn)列表?xiàng)l件篩選

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)列表?xiàng)l件篩選,篩選框的效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Javascript筆記一 js以及json基礎(chǔ)使用說(shuō)明

    Javascript筆記一 js以及json基礎(chǔ)使用說(shuō)明

    JavaScript中的數(shù)據(jù)很簡(jiǎn)潔的。簡(jiǎn)單數(shù)據(jù)只有 undefined, null, boolean, number和string這五種,而復(fù)雜數(shù)據(jù)只有一種,即object。
    2010-05-05
  • 更優(yōu)雅的事件觸發(fā)兼容

    更優(yōu)雅的事件觸發(fā)兼容

    對(duì)于JS框架開(kāi)發(fā)中的客戶端(瀏覽器)兼容難題,各位想必都不陌生。平常,我們都用if去面對(duì)接口不一致以及成堆的bug。然而,這里介紹的方法卻可以讓兼容更加優(yōu)雅
    2011-10-10
  • 學(xué)習(xí)JavaScript設(shè)計(jì)模式之模板方法模式

    學(xué)習(xí)JavaScript設(shè)計(jì)模式之模板方法模式

    這篇文章主要為大家介紹了JavaScript設(shè)計(jì)模式中的模板方法模式,對(duì)JavaScript設(shè)計(jì)模式感興趣的小伙伴們可以參考一下
    2016-01-01
  • 最新評(píng)論