8

不能对 Jquery ScrollTo 应用缓动方法:

$("#scroller").scrollTo(target,1000,{axis:'x',easing:'linear'});

这并不能缓解任何事情......我现在开始使用 jquery(长期使用原型)所以这肯定是我的错误。我需要一个缓动插件来实现这一点吗?这个插件的缓动选项是什么(如果有的话)?文档对此并不清楚。谢谢。

4

4 回答 4

10

来自 jQuery:

jQuery 库中唯一的缓动实现是默认的,称为摇摆,以及以恒定速度进行的,称为线性

所以easing: 'linear'不应该显示任何东西。试试easing: 'swing'

于 2010-11-25T09:18:31.547 回答
5
$("#scroller").scrollTo(target, 1000, {easing: 'easeInOutCirc'});

可以在这里找到一个很棒的宽松列表:

http://easings.net/

于 2013-11-04T14:35:20.237 回答
1

linear是 easing 的默认选项:线性动画 => 在一秒内直接到达该点。

尝试easing:'elasout'

于 2010-11-25T09:15:35.870 回答
1

我知道这是一个旧线程,但我找到了它并帮助了我。正如 Palmsey 在其中一条评论中提到的那样,scrollTo Demo 显示了一个使用缓动的示例,但实际上并没有提到它从http://gsgd.co上的缓动插件中借用了一小段代码。英国/沙盒/jquery/easing/。scrollTo 上的演示在 init.js 文件中包含此代码

    //borrowed from jQuery easing plugin
    //http://gsgd.co.uk/sandbox/jquery.easing.php
    $.easing.elasout = function(x, t, b, c, d) {
        var s=1.70158;var p=0;var a=c;
        if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
        if (a < Math.abs(c)) { a=c; var s=p/4; }
        else var s = p/(2*Math.PI) * Math.asin (c/a);
        return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
    };

但是,如果您包含上面提到的整个缓动插件,您可以使用http://easings.net/中提到的任何功能

于 2014-05-06T15:59:33.027 回答