模拟滚动条控制内容滚动

每次页面内容超出范围的时候,为了美观,我们都会加上滚动条处理,要是浏览器默认滚动条无法满足美感的时候,我们需要自己模拟出一个符合需求的滚动条,如下:

实现过程:

 1.简单样式:

 

#div1 {width: 30px; height: 500px; background: black; position: absolute; left: 10px; top: 10px;}
#div2 {width: 30px; height: 30px; background: red; position: absolute; left: 0; top: 0;}
#div3 {width: 498px; height: 498px; border: 1px solid green; position: absolute; left: 50px; top: 10px;overflow: hidden;}
#div4 { position: absolute; left: 0; top: 0;}

2.结构
<body>
<div id="div1">
<div id="div2"></div>
</div>
<div id="div3">
<div id="div4">
不要读太多闲书,不要思考得太纯粹,不要只知道对别人尊重、体谅,要努力奋斗,多挣些钱,
多长些本事。到那个时候你读书的样子才是帅气的,也自然赢得别人的尊重和体谅,而且群友蜂拥而至。
条件优裕之后,富而有礼,富而不骄,谦卑待人,平等待人,人人就会觉得你修养好,进而爱慕你,更关
键的是他们需要你。若你不被人们需要,人家谁会记得住一个无用的高尚?古时那些道德极高、名声传天下
的人,我不相信他们现实中也是无用的人。假如你不进步、没本事,成天对人只有尊重有礼,谦虚谨慎,
那么人们多半会以为你无能、懦弱、平庸。他们会觉得你的善不是因为有道德,而是因为比别人卑微,而且有求于人。
文/冯小欢(简书作者)
原文链接:http://www.jianshu.com/p/6aa604087ea9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
所以,奉劝读太多闲书的人,要顾及时代的潮流,要看清自己所处环境的时势。读闲书的好处,固然是有的,而且历来都
是有的。这里的闲书,指的不是排遣无聊的小说之流,而是代表人类高水平知识和写满人性普遍经验的然而又不合时势、
暂时不被潮流所亟需的各类作品。简单说,就是很有价值的经典但是看起来没什么用的大书。读闲书,要有经济基础,
你要有在经济上以致在爱情、生活、社交等等方面付出代价的准备
。不然你对闲书的热爱,早晚会被现实剥蚀殆尽,到那时你会为自己当年的幼稚悔之不迭。
文/冯小欢(简书作者)
原文链接:http://www.jianshu.com/p/6aa604087ea9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
你要有在经济上以致在爱情、生活、社交等等方面付出代价的准备
。不然你对闲书的热爱,早晚会被现实剥蚀殆尽,到那时你会为自己当年的幼稚悔之不迭。
文/冯小欢(简书作者)
原文链接:http://www.jianshu.com/p/6aa604087ea9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
你要有在经济上以致在爱情、生活、社交等等方面付出代价的准备
。不然你对闲书的热爱,早晚会被现实剥蚀殆尽,到那时你会为自己当年的幼稚悔之不迭。
文/冯小欢(简书作者)
原文链接:http://www.jianshu.com/p/6aa604087ea9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
你要有在经济上以致在爱情、生活、社交等等方面付出代价的准备
。不然你对闲书的热爱,早晚会被现实剥蚀殆尽,到那时你会为自己当年的幼稚悔之不迭。
文/冯小欢(简书作者)
原文链接:http://www.jianshu.com/p/6aa604087ea9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
你要有在经济上以致在爱情、生活、社交等等方面付出代价的准备
。不然你对闲书的热爱,早晚会被现实剥蚀殆尽,到那时你会为自己当年的幼稚悔之不迭。
文/冯小欢(简书作者)
原文链接:http://www.jianshu.com/p/6aa604087ea9
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
</div>
</div>
</body>

3.逻辑代码
<script>
window.onload = function() {

var oDiv1 = document.getElementById('div1');
var oDiv2 = document.getElementById('div2');
var oDiv3 = document.getElementById('div3');
var oDiv4 = document.getElementById('div4');

var iMaxTop = oDiv1.offsetHeight - oDiv2.offsetHeight;

oDiv2.onmousedown = function(ev) {

var ev = ev || event;

var disY = ev.clientY - this.offsetTop;

document.onmousemove = function(ev) {

var ev = ev || event;

var T = ev.clientY - disY;

if ( T < 0 ) {
T = 0;
} else if ( T > iMaxTop ) {
T = iMaxTop;
}

oDiv2.style.top = T + 'px';

var iScale = T / iMaxTop;

document.title = iScale;

oDiv4.style.top = (oDiv3.clientHeight - oDiv4.offsetHeight) * iScale + 'px';

}

document.onmouseup = function() {

document.onmousemove = document.onmouseup = null;

}

return false;

}

}
</script>

分享技术,分享快乐!

 

posted @ 2017-01-03 17:23  win.w  阅读(105)  评论(0编辑  收藏  举报