【问题标题】:Detect mouse scroll actions jQuery检测鼠标滚动动作jQuery
【发布时间】:2013-02-25 17:34:06
【问题描述】:

我正在开发一个图片库,并且成功地进行了滚动。当鼠标向上和向右滚动时,图像分别向左和向右滑动。我使用 animate({"top","left"},500) 将图像设置为滑动动画。但我的问题是,当鼠标一次滚动两次或多次时,需要 1000 毫秒才能完成,因为每次滚动动画都会被调用。

关于鼠标滚动速度,有什么方法可以加快图像动画的速度吗?

我不能给你任何代码,因为我不知道这是否可以做到。关于如何实施的任何建议?

编辑

posn 是一个顶部和左侧的数组,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 张照片

【问题讨论】:

  • 当前代码animate({"top","left"},500)的完整码是多少?
  • 您可以使用.stop().animate() 来停止当前动画并移动到下一个动画吗?我真的不知道您的代码是如何工作的,因此您可能希望将其包含在您的问题中。
  • 我很想看到有人为此发布答案。我不认为这是可能的。当您应该只触发一个动画时,您会触发多个动画,这难道不是您的问题吗?只是好奇你是否试图解决错误的问题。
  • @MikeC。当然有可能——答案正是你所说的。
  • 那么,他是如何根据鼠标滚动加快图像动画速度的呢?

标签: javascript jquery image scroll jquery-animate


【解决方案1】:

您可以debounce the scroll callback 使其在滚动时不会被频繁触发。如果您确保它仅每 500 毫秒触发一次(与动画的持续时间相同),那么两者应该很好地对齐。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 2021-07-08
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    相关资源
    最近更新 更多