如何实现JQuery缓动到这个窗口滚动运动功能?

时间:2010-06-01 05:20:58

标签: javascript jquery scroll easing-functions jquery-easing

使用此代码,我已经能够捕获鼠标滚轮移动并将其应用于水平滚动条而不是垂直默认值。

$('html').bind('mousewheel', function(event, delta) {
   window.parent.scrollBy(-120 * delta, 0);
   return false;
});

有什么办法可以将这个jQuery缓动动画添加到滚动动作中吗?

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.extend( jQuery.easing, {
   easeInOutBack: function (x, t, b, c, d, s) {
        if (s == undefined) s = 1.70158; 
        if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
        return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
   }
});

提前非常感谢你!

1 个答案:

答案 0 :(得分:1)

我认为你需要的是scrollTo插件。虽然我没有亲自使用它,但似乎符合要求。基本上应该可以这样称呼它

$.scrollTo( -120*delta, {duration:1000,easing:'easeInOutBack',axis:'x'} )

找到插件演示here。 jquery插件网站目前似乎处于离线状态,但在备份时,可以找到该插件here