这篇文章主要介绍了JavaScript如何实现美化滑块效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
具体内容如下
美化滑块(拖动)
隐藏原有的range 同步value
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>滑块</title>
<style>
.len{
width: 300px;
height: 6px;
background: #6c6;
border-radius: 3px;
margin-top:15px;
position: relative;
}
.len b{
display: inline-block;
height: 6px;
border-radius: 3px;
background: #900;
position: absolute;
}
.len span{
position: absolute;
width: 10px;
height: 10px;
border-radius: 5px;
background: #090;
z-index: 1;
top: -2px;
left: 0;
}
.len input[type=range]{
display: none;
}
</style>
</head>
<body>
<input type="range" min="0" max="500" value="0">
<input type="range" min="0" value="0">
<script>
var ranges=document.querySelectorAll("input[type=range]");
ranges.forEach(function(range){
var Div=document.createElement("div");
Div.className="len";
range.parentNode.insertBefore(Div,range);
var span=document.createElement("span");
var b=document.createElement("b");
Div.appendChild(span);
Div.appendChild(b);
Div.appendChild(range);
span.onmousedown=function(e){
var x=e.clientX-this.offsetLeft;
var maxL=Div.offsetWidth-span.offsetWidth;
var maxV=range.max || 100;
document.onmousemove=function(e){
var les=e.clientX-x;
if(les < 0)les=0;
if(les > maxL)les=maxL;
span.style.left=les+"px";
b.style.width=les+span.offsetWidth/2+"px";
range.value=les/maxL*maxV; //同步
e.preventDefault(); //阻止默认事件
console.log(range.value)
}
document.onmouseup=function(){
document.onmousemove=null;
document.onmouseup=null;
}
}
})
</script>
</body>
</html>
感谢你能够认真阅读完这篇文章,希望小编分享的“JavaScript如何实现美化滑块效果”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。