【问题标题】:Incrementing animation speed in jQuery在jQuery中增加动画速度
【发布时间】:2011-03-03 22:41:22
【问题描述】:

我在一个包含的 div 中有一堆 div。它们都向左浮动,只有三个可见,容器的溢出设置为隐藏。我想让用户悬停在包含 div 的左侧或右侧,并让内部 div(幻灯片)向左或向右动画,当用户的鼠标靠近任一侧时,动画的速度就会增加。中间不移动,侧面快速移动。

现在,我可以调整速度,如果我将鼠标悬停在包含的 div 上和之外,它会反映出来,但我不知道如何在动画“期间”更改速度。我不是在谈论缓动,因为我希望用户能够将鼠标移回中心并在他们选择时让动画在该点轻轻停止。

这是我获取/设置速度参数的方式:

var mouseX = e.pageX-$(this).offset().left,

            width = $(this).innerWidth(),

            speed = Math.round((width-mouseX)*10);

然后我就这样设置了动画:

$("#sliderCont").animate({"left":-1600},speed);

我使用变量“速度”作为动画的速度参数,希望它会自动更新,因为我使用的是鼠标悬停事件处理程序,它触发得非常快,所以我认为速度量会变化也很快。但显然不是。

请帮忙。 :)

P.S:这个编辑器显示一行代码两次,“var mouseX”... :S 这不是代码的一部分。

【问题讨论】:

    标签: jquery animation parameters performance


    【解决方案1】:

    也许你应该试试 mousemove 事件。

    【讨论】:

    • 哎呀!错字,我实际上正在使用 mousemove 事件。 :P 仍然无法正常工作。我现在可以更改动画速度,但是当一个函数结束而另一个函数开始时,它会很生涩。 :(
    猜你喜欢
    • 2011-03-12
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多