jquery回弹_源生js惯性滚动与回弹效果

本文介绍了一种使用JavaScript实现的回弹和惯性滚动效果,通过监听鼠标事件并应用物理模拟公式来实现平滑的滚动体验。在鼠标按下、移动、释放的过程中,计算滑动力度和方向,结合回弹算法,使得元素在滚动到边界时能够产生真实感的回弹效果。
摘要由CSDN通过智能技术生成
Document

}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;//鼠标按下时的时间戳

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值