}div{position:relative;width:200px;height:300px;margin:3em auto;border:1px solid #CCC;overflow:hidden;-webkit-user-select:none;user-select:none;
}ol{width:100%;
}ol > li{height:30px;
}
functionmyScroll(ctx) {varol=ctx.firstElementChild||ctx.firstChild,
offset= 50,//最大溢出值
cur= 0,//列表滑动位置
isDown= false,
vy= 0,//滑动的力度
fl= 150,//弹力,值越大,到度或到顶后,可以继续拉的越远
isInTransition= false;//是否在滚动中
ctx.addEventListener("mousedown",function(e) {if(isInTransition)return;//如果在滚动中,则中止执行
clearTimeout(this._timer);//清除定时器
vy= 0;this._oy=e.clientY-cur;//计算鼠标按下位置与列表当前位置的差值,列表位置初始值为0
this._cy=e.clientY;//鼠标按下的位置
this._oh= this.scrollHeight;//列表的高度
this._ch= this.clientHeight;//容器的高度
this._startTime=e.timeStamp;//鼠标按下时的时间戳