JS實現(xiàn)音量控制拖動
更新時間:2020年01月15日 14:37:12 作者:SSSkyCong
這篇文章主要為大家詳細介紹了JS實現(xiàn)音量控制拖動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了JS實現(xiàn)音量控制拖動的具體代碼,供大家參考,具體內(nèi)容如下
描述:
JS——實現(xiàn)音量控制拖動
1)、有底條,有拖拽按鈕
2)、設(shè)置最小和最大值
3)、拖動定位后,拋出事件當(dāng)前的所在值
效果:
實現(xiàn):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> #all { width: 500px; height: 86px; margin: 100px auto; position: relative; } #bar { width: 500px; height: 20px; border-radius: 10px; background: #9acfea; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; cursor: pointer; } #box { width: 30px; height: 30px; background: #ec971f; position: absolute; bottom: 0; top: 0; margin: auto 0; border-radius: 50%; cursor: pointer; transition: left 0.1s linear 0s; } </style> </head> <body> <div id="all"> <p>當(dāng)前位置0%</p> <div id="bar"> <div id="box"></div> </div> </div> <script> var all=document.getElementById("all");//容器 var p=document.querySelector("p");//進度百分比 var bar=document.getElementById("bar");//進度顯示條 var box=document.getElementById("box");//進度按鈕 var boxL,newL,moveL,mouseX,left; var cha = bar.offsetWidth - box.offsetWidth; var index=0;//標(biāo)記狀態(tài) var evt=new Event("change");//本身的事件 init(); function init() { box.addEventListener("mousedown",mouseDownclickHandler); document.addEventListener("mousemove",mouseMoveclickHandler) document.addEventListener("mouseup",mouseUpclickHandler); document.addEventListener("change",changeHandler); bar.addEventListener("click",clickHandler); } function mouseDownclickHandler(e) { index=1; boxL=box.offsetLeft; mouseX=e.clientX;//鼠標(biāo)按下拖動的位置 } function mouseMoveclickHandler(e) { if(index===1){ moveL=e.clientX-mouseX;//鼠標(biāo)移動 newL=boxL+moveL;//left值 //判斷最小值與最大值 if(newL<0){ newL = 0; } if(newL>=cha){ newL=cha; } // 改變left值 box.style.left = newL + 'px'; // 計算比例 var bili = newL / cha * 100; p.textContent = '當(dāng)前位置' + Math.ceil(bili) + '%'; evt.elem=this;//當(dāng)前指向 對象 document.dispatchEvent(evt);//朝誰發(fā)送 拋發(fā) } } function mouseUpclickHandler(e) { index=0; evt.elem=this;//當(dāng)前指向 對象 document.dispatchEvent(evt);//朝誰發(fā)送 拋發(fā) } function clickHandler(e) { left = e.clientX-all.offsetLeft-box.offsetWidth/2; if(left<0){ left=0; } if(left>=cha){ left=cha; } box.style.left=left+'px'; bili=left/cha*100; p.innerHTML='當(dāng)前位置'+ Math.ceil(bili)+'%'; evt.elem=this;//當(dāng)前指向 對象 document.dispatchEvent(evt);//朝誰發(fā)送 拋發(fā) } function changeHandler(e) { console.log(e); } </script> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- js 鼠標(biāo)拖動對象 可讓任何div實現(xiàn)拖動效果
- javascript 事件處理、鼠標(biāo)拖動效果實現(xiàn)方法詳解
- js實現(xiàn)可拖動DIV的方法
- 比較精簡的Javascript拖動效果函數(shù)代碼
- JS實現(xiàn)彈出浮動窗口(支持鼠標(biāo)拖動和關(guān)閉)實例詳解
- js實現(xiàn)懸浮窗效果(支持拖動)
- js實現(xiàn)圖片拖動改變順序附圖
- JS拖動鼠標(biāo)畫出方框?qū)崿F(xiàn)鼠標(biāo)選區(qū)的方法
- JS實現(xiàn)可縮放、拖動、關(guān)閉和最小化的浮動窗口完整實例
- 鼠標(biāo)拖動動態(tài)改變表格的寬度的js腳本 兼容ie/firefox
相關(guān)文章
ichart.js繪制虛線、平均分虛線效果的實現(xiàn)代碼
下面小編就為大家?guī)硪黄猧chart.js繪制虛線、平均分虛線效果的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考2016-05-05js與jQuery實現(xiàn)獲取table中的數(shù)據(jù)并拼成json字符串操作示例
這篇文章主要介紹了js與jQuery實現(xiàn)獲取table中的數(shù)據(jù)并拼成json字符串操作,涉及javascript與jQuery針對HTML頁面table表格數(shù)據(jù)獲取、遍歷及json字符串拼接相關(guān)操作技巧,需要的朋友可以參考下2018-07-07JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之二叉樹插入節(jié)點、生成二叉樹示例
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之二叉樹插入節(jié)點、生成二叉樹,結(jié)合實例形式較為詳細的分析了javascript二叉樹相關(guān)概念、定義、節(jié)點插入、遍歷輸出等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02