這篇文章將為大家詳細(xì)講解有關(guān)JS怎么實(shí)現(xiàn)音量控制拖動(dòng),小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
十余年的晉寧網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整晉寧建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“晉寧網(wǎng)站設(shè)計(jì)”,“晉寧網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。具體內(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>
關(guān)于“JS怎么實(shí)現(xiàn)音量控制拖動(dòng)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
當(dāng)前名稱:JS怎么實(shí)現(xiàn)音量控制拖動(dòng)-創(chuàng)新互聯(lián)
鏈接URL:http://muchs.cn/article6/dsgcog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、軟件開發(fā)、域名注冊(cè)、關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容