JS實(shí)現(xiàn)音量控制拖動(dòng)
本文實(shí)例為大家分享了JS實(shí)現(xiàn)音量控制拖動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
描述:
JS——實(shí)現(xiàn)音量控制拖動(dòng)
1)、有底條,有拖拽按鈕
2)、設(shè)置最小和最大值
3)、拖動(dòng)定位后,拋出事件當(dāng)前的所在值
效果:
實(shí)現(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");//進(jìn)度百分比 var bar=document.getElementById("bar");//進(jìn)度顯示條 var box=document.getElementById("box");//進(jìn)度按鈕 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)按下拖動(dòng)的位置 } function mouseMoveclickHandler(e) { if(index===1){ moveL=e.clientX-mouseX;//鼠標(biāo)移動(dòng) newL=boxL+moveL;//left值 //判斷最小值與最大值 if(newL<0){ newL = 0; } if(newL>=cha){ newL=cha; } // 改變left值 box.style.left = newL + 'px'; // 計(jì)算比例 var bili = newL / cha * 100; p.textContent = '當(dāng)前位置' + Math.ceil(bili) + '%'; evt.elem=this;//當(dāng)前指向 對(duì)象 document.dispatchEvent(evt);//朝誰發(fā)送 拋發(fā) } } function mouseUpclickHandler(e) { index=0; evt.elem=this;//當(dāng)前指向 對(duì)象 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)前指向 對(duì)象 document.dispatchEvent(evt);//朝誰發(fā)送 拋發(fā) } function changeHandler(e) { console.log(e); } </script> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js 鼠標(biāo)拖動(dòng)對(duì)象 可讓任何div實(shí)現(xiàn)拖動(dòng)效果
- javascript 事件處理、鼠標(biāo)拖動(dòng)效果實(shí)現(xiàn)方法詳解
- js實(shí)現(xiàn)可拖動(dòng)DIV的方法
- 比較精簡(jiǎn)的Javascript拖動(dòng)效果函數(shù)代碼
- JS實(shí)現(xiàn)彈出浮動(dòng)窗口(支持鼠標(biāo)拖動(dòng)和關(guān)閉)實(shí)例詳解
- js實(shí)現(xiàn)懸浮窗效果(支持拖動(dòng))
- js實(shí)現(xiàn)圖片拖動(dòng)改變順序附圖
- JS拖動(dòng)鼠標(biāo)畫出方框?qū)崿F(xiàn)鼠標(biāo)選區(qū)的方法
- JS實(shí)現(xiàn)可縮放、拖動(dòng)、關(guān)閉和最小化的浮動(dòng)窗口完整實(shí)例
- 鼠標(biāo)拖動(dòng)動(dòng)態(tài)改變表格的寬度的js腳本 兼容ie/firefox
相關(guān)文章
js錨點(diǎn)、操作滾動(dòng)條滑動(dòng)scroll代碼演示
滑動(dòng)錨點(diǎn)挺有意思的,可增加一些瀏覽性,下面這篇文章主要給大家介紹了關(guān)于js錨點(diǎn)、操作滾動(dòng)條滑動(dòng)scroll的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03ichart.js繪制虛線、平均分虛線效果的實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄猧chart.js繪制虛線、平均分虛線效果的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-05-05js實(shí)現(xiàn)遮罩層劃出效果是生成div而不是顯示
單純的遮蓋層劃出是比較簡(jiǎn)單的,而本例介紹的這個(gè)就有點(diǎn)難度,生成div,而不是顯示存在的div,需要的朋友可以參考下2014-07-07js與jQuery實(shí)現(xiàn)獲取table中的數(shù)據(jù)并拼成json字符串操作示例
這篇文章主要介紹了js與jQuery實(shí)現(xiàn)獲取table中的數(shù)據(jù)并拼成json字符串操作,涉及javascript與jQuery針對(duì)HTML頁面table表格數(shù)據(jù)獲取、遍歷及json字符串拼接相關(guān)操作技巧,需要的朋友可以參考下2018-07-07JavaScript中三種觀察者實(shí)現(xiàn)案例分享
前面突然看到 Object.defineProperty,就順道想到 Proxy,然后就想到了觀察者案例,這邊還沒有用 javascript編寫一個(gè)觀察者的案例呢,順道加入了一個(gè) event-bus 監(jiān)聽事件案例,湊一起看一看不同的實(shí)現(xiàn)方式,需要的朋友可以參考下2023-08-08非主流的textarea自增長(zhǎng)實(shí)現(xiàn)js代碼
今天稍微研究了下textarea隨輸入內(nèi)容自動(dòng)增長(zhǎng)的功能,通過google參考了一些實(shí)現(xiàn)方式2011-12-12JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之二叉樹插入節(jié)點(diǎn)、生成二叉樹示例
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之二叉樹插入節(jié)點(diǎn)、生成二叉樹,結(jié)合實(shí)例形式較為詳細(xì)的分析了javascript二叉樹相關(guān)概念、定義、節(jié)點(diǎn)插入、遍歷輸出等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02