JavaScript實現(xiàn)水平進度條拖拽效果
更新時間:2021年10月19日 16:28:18 作者:秋天1014童話
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)水平進度條拖拽效果的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享水平進度條拖拽效果的js具體代碼,供大家參考,具體內(nèi)容如下
<html> <head> <meta charset="UTF-8"> <title>Document</title> <style> *{ margin: 0; padding: 0; } .scroll{ margin:100px; width: 500px; height: 5px; background: #ccc; position: relative; } .bar{ width: 10px; height: 20px; background: #369; position: absolute; top: -7px; left: 0; cursor: pointer; } .mask{ position: absolute; left: 0; top: 0; background: #369; width: 0; height: 5px; } </style> </head> <body> <div class="scroll" id="scroll"> <div class="bar" id="bar"> </div> <div class="mask" id="mask"></div> </div> <p></p> <script> var scroll = document.getElementById('scroll'); var bar = document.getElementById('bar'); var mask = document.getElementById('mask'); var ptxt = document.getElementsByTagName('p')[0]; var barleft = 0; bar.onmousedown = function(event){ var event = event || window.event; var leftVal = event.clientX - this.offsetLeft; var that = this; // 拖動一定寫到 down 里面才可以 document.onmousemove = function(event){ var event = event || window.event; barleft = event.clientX - leftVal; if(barleft < 0) barleft = 0; else if(barleft > scroll.offsetWidth - bar.offsetWidth) barleft = scroll.offsetWidth - bar.offsetWidth; mask.style.width = barleft +'px' ; that.style.left = barleft + "px"; ptxt.innerHTML = "已經(jīng)走了" + parseInt(barleft/(scroll.offsetWidth-bar.offsetWidth) * 100) + "%"; //防止選擇內(nèi)容--當(dāng)拖動鼠標過快時候,彈起鼠標,bar也會移動,修復(fù)bug window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty(); } } document.onmouseup = function(){ document.onmousemove = null; //彈起鼠標不做任何操作 } </script> </body> </html>
效果圖:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript實現(xiàn)審核流程狀態(tài)的動態(tài)顯示進度條
對于有很多流程的東西,我們希望能夠根據(jù)不同的階段,用流程條對應(yīng)地進行顯示,非常直觀,給用戶帶來極好的用戶體驗,下面小編給大家分享JavaScript實現(xiàn)審核流程狀態(tài)的動態(tài)顯示進度條功能,需要的的朋友參考下2017-03-03一個類似vbscript的round函數(shù)的javascript函數(shù)
同vbscript的Round函數(shù)功能相同,四舍五入保留指定小數(shù)位數(shù)2009-04-04通過BootStrap-select插件 js jQuery控制select屬性變化
bootstrap-select我想大家都不陌生是一個前端下拉框的插件非常好用,在select的標簽中設(shè)置屬性可以做很多功能控制,下面通過本文給大家詳細介紹下2017-01-01老生常談document.ready和window.onload
這篇文章主要介紹了document.ready和window.onload的相關(guān)知識,包括document.ready和window.onload的區(qū)別,要使用document.ready()或者document.onload()的原因分析,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2024-01-01layer的prompt彈出框,點擊回車,觸發(fā)確定事件的方法
今天小編就為大家分享一篇layer的prompt彈出框,點擊回車,觸發(fā)確定事件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09