这篇文章给大家分享的是有关JS如何实现自定义滚动条效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
具体内容如下
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
#all{
width: 500px;
height: 50px;
background-color: sandybrown;
border-radius: 25px;
margin: 0 auto;
position: relative;
}
#div1{
width: 50px;
height: 50px;
border-radius: 50%;
background-color: rosybrown;
position: absolute;
}
#box{
background-color: yellow;
position: absolute;
top: 200px;
left: 200px;
}
</style>
</head>
<body>
<div id="all">
<div id="div1"></div>
</div>
<div id="box"></div>
<script type="text/javascript">
var oAll = document.getElementById("all");
var oDiv1 = document.getElementById("div1");
var oBox = document.getElementById("box");
var maxL = oAll.clientWidth - oDiv1.offsetWidth;
oDiv1.onmousedown = function(){
var ev = ev || window.event;
var lessX = ev.clientX - oDiv1.offsetLeft;
document.onmousemove = function(){
var ev = ev || window.event;
var posL = ev.clientX - lessX;
if(posL<0){
posL = 0;
}
if(posL>maxL){
posL = maxL;
}
oDiv1.style.left = posL + "px";
//滚动条移动的百分比
//oDiv1.offsetLeft/maxL
var per = posL/maxL;
//定义宽0~300
oBox.style.width = 300*per+"px";
oBox.style.height = 300*per+"px";
oBox.style.marginTop = -oBox.offsetHeight/2+"px";
oBox.style.marginLeft = -oBox.offsetWidth/2+"px";
}
}
document.onmouseup =function(){
document.onmousemove = null;
}
</script>
</body>
感谢各位的阅读!关于“JS如何实现自定义滚动条效果”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!