<!DOCTYPE html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>滚动条</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
#wp {
width: 400px;
height: 800px;
margin: 30px auto;
border: 1px #f00 solid;
background: #ff0;
position: relative;
overflow: hidden;
}
#wp p {
line-height: 40px;
color: #666;
font-size: 18px;
padding: 20px;
}
#scroll {
width: 16px;
position: absolute;
top: 0;
right: 0;
background: rgba(0, 0, 0, 0.5);
height: 100px;
}
</style>
</head>
<body>
<div id="wp">
<!-- 内容 -->
<p>呜呜呜呜呜呜呜呜无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无无我的大撒奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥sadDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEWREQWWWWWWWW132QWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW岁数大发奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥范德萨的范德萨发大水发地方阿斯蒂芬第三方的说法发顺丰沙发阿福阿福啊孙菲菲爱的色放范德萨 阿福大师傅沙发是阿福发的说法沙发 奥德赛发送浮点数法第三代发放大范德萨发啊发第三方第三方撒大浮点数范德萨奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥奥噢噢噢噢哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦噢噢噢噢噢噢噢噢哦哦哦哦哦哦哦哦哦哦哈哈哈哈哈哈哈哈哈哈或或或或或或或或或或或或或或或或或或或或或或或或或斤斤计较军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军军啦啦啦啦啦啦啦啦绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿绿</p>
<!-- 滚动条 -->
<div id="scroll"></div>
</div>
</body>
</html>
<script type="text/javascript">
var p = document.querySelector('#wp p');
var wp = document.querySelector('#wp');
var scroll = document.querySelector('#scroll');
var h = 0;
var ph = p.clientHeight;
var wph = wp.clientHeight;
h = wph * wph / ph;
scroll.style.height = h + 'px';
var maxCont = ph - wph;
scroll.onmousedown = function () {
var cy = event.clientY;
var top = parseInt(getComputedStyle(this).top);
document.onmousemove = function () {
var my = event.clientY;
var t = top + my - cy;
(t <= 0) && (t = 0);
var maxH = wph - h;
(t >= maxH) && (t = maxH);
scroll.style.top = t + 'px';
var num = -maxCont * t / maxH;
p.style.transform = 'translateY(' + num + 'px)';
};
return false;
};
document.onmouseup = function () {
document.onmousemove = null;
};
addMousewheel(wp);
function addMousewheel(obj) {
if (!obj) {
return;
}
obj.addEventListener('DOMMouseScroll', scrollFun);
obj.onmousewheel = scrollFun;
var dir;
function scrollFun(ev) {
var t = scroll.offsetTop;
var ev = event || ev;
if (ev.wheelDelta) {
dir = ev.wheelDelta > 0 ? true : false;
} else {
dir = ev.detail > 0 ? false : true;
}
if (dir) {
t -= 5;
} else {
t += 5;
}
(t <= 0) && (t = 0);
var maxH = wph - h;
(t >= maxH) && (t = maxH);
scroll.style.top = t + 'px';
var num = -maxCont * t / maxH;
p.style.transform = 'translateY(' + num + 'px)';
}
}
</script>