JS實(shí)現(xiàn)拖拽進(jìn)度條改變?cè)赝该鞫?/h1>
更新時(shí)間:2021年10月19日 16:30:41 作者:aiguangyuan
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)拖拽進(jìn)度條改變?cè)赝该鞫?,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
今天要分享的是運(yùn)用原生JS拖拽進(jìn)度條改變?cè)赝该鞫?,效果如下?/p>

以下是代碼實(shí)現(xiàn),歡迎大家復(fù)制粘貼。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>原生JS拖拽進(jìn)度條改變?cè)赝该鞫?lt;/title>
<style>
#parent {
width: 400px;
height: 20px;
background: #CCC;
position: relative;
margin: 20px auto;
}
#div1 {
width: 20px;
height: 20px;
background: red;
cursor: pointer;
position: absolute;
}
#div2 {
width: 300px;
height: 300px;
margin: 0 auto;
filter: alpha(opacity:0);
opacity: 0;
background: yellow;
}
</style>
<script>
window.onload = function () {
var oDiv = document.getElementById('div1');
var oParent = document.getElementById('parent');
var oDiv2 = document.getElementById('div2');
oDiv.onmousedown = function (ev) {
var oEvent = ev || event;
//計(jì)算鼠標(biāo)相對(duì)滑塊上的位置
var disX = oEvent.clientX - oDiv.offsetLeft;
document.onmousemove = function (ev) {
var oEvent = ev || event;
//計(jì)算滑塊的動(dòng)態(tài)left值
var l = oEvent.clientX - disX;
//限制拖拽范圍
if (l < 0) {
l = 0;
} else if (l > oParent.offsetWidth - oDiv.offsetWidth) {
l = oParent.offsetWidth - oDiv.offsetWidth;
}
oDiv.style.left = l + 'px';
//計(jì)算拖拽移動(dòng)距離與可拖動(dòng)總范圍的比例
var scale = l / (oParent.offsetWidth - oDiv.offsetWidth);
//讓Div2跟隨鼠標(biāo)的拖動(dòng)逐漸顯示與隱藏
oDiv2.style.filter = 'alpha(opacity:' + 100 * scale + ')';
oDiv2.style.opacity = scale;
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
};
</script>
</head>
<body>
<div id="parent">
<div id="div1"></div>
</div>
<div id="div2"></div>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
-
js+css使DIV始終居于屏幕中間 左下 左上 右上 右下的代碼集合
js+css使DIV始終居于屏幕中間 左下 左上 右上 右下的代碼集合,需要的朋友可以參考下。 2011-03-03
-
微信小程序表單驗(yàn)證form提交錯(cuò)誤提示效果
這篇文章主要為大家詳細(xì)介紹了微信小程序表單驗(yàn)證form提交錯(cuò)誤提示效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 2018-07-07
-
javascript ie6兼容position:fixed實(shí)現(xiàn)思路
positon:fixed 讓HTML元素脫離文檔流固定在瀏覽器的某個(gè)位置,由于網(wǎng)頁中類似這樣的元素很多,所以本文的出現(xiàn)是很有必要的了,接下為大家介紹下javascript如何實(shí)現(xiàn)ie6下的position:fixed 2013-04-04
-
js replace 與replaceall實(shí)例用法詳解
這篇文章介紹了js replace 與replaceall實(shí)例用法詳解,有需要的朋友可以參考一下 2013-08-08
最新評(píng)論
今天要分享的是運(yùn)用原生JS拖拽進(jìn)度條改變?cè)赝该鞫?,效果如下?/p>

以下是代碼實(shí)現(xiàn),歡迎大家復(fù)制粘貼。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>原生JS拖拽進(jìn)度條改變?cè)赝该鞫?lt;/title>
<style>
#parent {
width: 400px;
height: 20px;
background: #CCC;
position: relative;
margin: 20px auto;
}
#div1 {
width: 20px;
height: 20px;
background: red;
cursor: pointer;
position: absolute;
}
#div2 {
width: 300px;
height: 300px;
margin: 0 auto;
filter: alpha(opacity:0);
opacity: 0;
background: yellow;
}
</style>
<script>
window.onload = function () {
var oDiv = document.getElementById('div1');
var oParent = document.getElementById('parent');
var oDiv2 = document.getElementById('div2');
oDiv.onmousedown = function (ev) {
var oEvent = ev || event;
//計(jì)算鼠標(biāo)相對(duì)滑塊上的位置
var disX = oEvent.clientX - oDiv.offsetLeft;
document.onmousemove = function (ev) {
var oEvent = ev || event;
//計(jì)算滑塊的動(dòng)態(tài)left值
var l = oEvent.clientX - disX;
//限制拖拽范圍
if (l < 0) {
l = 0;
} else if (l > oParent.offsetWidth - oDiv.offsetWidth) {
l = oParent.offsetWidth - oDiv.offsetWidth;
}
oDiv.style.left = l + 'px';
//計(jì)算拖拽移動(dòng)距離與可拖動(dòng)總范圍的比例
var scale = l / (oParent.offsetWidth - oDiv.offsetWidth);
//讓Div2跟隨鼠標(biāo)的拖動(dòng)逐漸顯示與隱藏
oDiv2.style.filter = 'alpha(opacity:' + 100 * scale + ')';
oDiv2.style.opacity = scale;
};
document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
};
};
};
</script>
</head>
<body>
<div id="parent">
<div id="div1"></div>
</div>
<div id="div2"></div>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js+css使DIV始終居于屏幕中間 左下 左上 右上 右下的代碼集合
js+css使DIV始終居于屏幕中間 左下 左上 右上 右下的代碼集合,需要的朋友可以參考下。2011-03-03
微信小程序表單驗(yàn)證form提交錯(cuò)誤提示效果
這篇文章主要為大家詳細(xì)介紹了微信小程序表單驗(yàn)證form提交錯(cuò)誤提示效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
javascript ie6兼容position:fixed實(shí)現(xiàn)思路
positon:fixed 讓HTML元素脫離文檔流固定在瀏覽器的某個(gè)位置,由于網(wǎng)頁中類似這樣的元素很多,所以本文的出現(xiàn)是很有必要的了,接下為大家介紹下javascript如何實(shí)現(xiàn)ie6下的position:fixed2013-04-04
js replace 與replaceall實(shí)例用法詳解
這篇文章介紹了js replace 與replaceall實(shí)例用法詳解,有需要的朋友可以參考一下2013-08-08

