我正在开发一个图片库,并且在滚动方面取得了成功。当鼠标分别向上和向右滚动时,图像向左和向右滑动。我使用 animate({"top","left"},500) 将图像设置为滑动动画。但我的问题是,当鼠标一次滚动两次或更多次时,需要 1000 毫秒才能完成,因为每次滚动动画都会被调用。
有什么办法可以根据鼠标滚动速度来加快图像动画的速度吗?
我不能给你任何代码,因为我不知道这是否可以完成。关于如何实现这个的任何建议?
编辑
posn 是一个有 top 和 left 的数组,var posn = [{x:"50%",y:"50%"},{x:"40%",y:"70%"} ,{x:"30%",y:"90%"},{x:"30%",y:"10%"},{x:"40%",y:"30%"}];
$("#photo0").animate({"top":""+posn[0].x,"left":""+posn[0].y},500);
$("#photo1").animate({"top":""+posn[1].x,"left":""+posn[1].y},500);
有#photo2,#photo3,#photo4的5张照片
最佳答案
您可以 debounce the scroll callback这样它在滚动时就不会被频繁触发。如果您确保它仅每 500 毫秒触发一次(与您的动画持续时间相同),则两者应该很好地对齐。
关于javascript - 检测鼠标滚动 Action jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323380/