您的位置:首页 > Web前端 > JavaScript

js模拟滚动条

2015-08-22 10:40 501 查看
  

<div id="contentBox">
<div id="content">
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</p>
<p>6</p>
<p>7</p>
<p>8</p>
<p>9</p>
</div>
</div>
<div id="scrollBar">
<div id="scroll"></div>
</div>


#contentBox{
width: 100px;
height: 100px;
border:1px solid darkgray;
overflow: hidden;
position: relative;
}
#content{
position: absolute;
left: 0;
top: 0;
}

#scrollBar {
position: relative;
width: 200px;
height: 30px;
background: grey;
}
#scroll{
position: absolute;
width: 30px;
height: 30px;
background: red;
}

*{
margin: 0;
padding: 0;
}


var scroll=document.getElementById('scroll');
var scrollBar=document.getElementById('scrollBar');
var content=document.getElementById('content');
var contentBox=document.getElementById('contentBox');
var toppos=content.offsetHeight-contentBox.offsetHeight;

scroll.onmousedown= function (e) {
var e= e||window.event;
var disX= e.clientX-scroll.offsetLeft;
document.onmousemove= function (e) {
var e= e || window.event;
var left=e.clientX-disX;
if(left<0){
left=0;
}else if(left>(scrollBar.offsetWidth-scroll.offsetWidth)){
left=scrollBar.offsetWidth-scroll.offsetWidth;
}
var scale=left/(scrollBar.offsetWidth-scroll.offsetWidth);
content.style.top=-scale*toppos+'px';
scroll.style.left= left+'px';
}
document.onmouseup= function () {
document.onmousemove=null;
document.onmouseup=null;
}
}
//top 是一个自带的全局变量,表示window
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: