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
相关文章推荐
- js 不同页面间传递值并取值
- js日历
- Atom编辑器折腾记_(15)JS代码片段补全(插件:javascript-snippets)
- Atom编辑器折腾记_(15)JS代码片段补全(插件:javascript-snippets)
- 高级JS内容——JavaScript高级程序设计笔记
- AJAX——JavaScript高级程序设计笔记(16)
- js实现的二级横向菜单条实例
- js编程(选项卡)
- js编程(增删学生信息)
- BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元
- js的DOM(浏览器、网页尺寸)
- js的类型转换
- js的DOM(节点操作)
- js的DOM(节点属性)
- js的DOM(文档对象模型)获取节点
- js的screen对象
- 在JS方法中返回多个值的三种方法
- [持续更新]JavaScript学习笔记(六)
- js的Navigator对象
- js的Location对象