jQuery Easing with slideUp Easing Function

时间:2013-11-01 14:11:02

标签: jquery slideup jquery-easing

我刚读过这个question and answer from StackExchange,但解决方案对我不起作用。

这不起作用:

 $("#top_slide").slideUp(5000, "easeInOutQuart");

但这确实有效:

$("#top_container").animate({height: headerHeight}, 5000, "easeInOutQuart");

我正在使用最新的jQuery-1.10.2.js。

有什么想法吗?

//

我添加了这样的缓动插件,它可以在jsfiddle:

中使用
<script src="js/jquery-1.10.2.js"></script>
<script src="js/jquery.easing.1.3.js"></script>
<script src="js/jquery.easing.compatibility.js"></script>
<script src="js/jquery.easing.min.js"></script>

脚本代码是这样的:

 $("#top_slide").slideUp({ duration: 5000, easing: "easeInOutQuart" });

我仍然会收到此错误:

Uncaught TypeError: Object #<Object> has no method 'easeInOutQuart'
rr.run jquery.js:9216
l jquery.js:8914
x.fx.timer jquery.js:9511
er jquery.js:8981
a jquery.js:9305
x.extend.dequeue jquery.js:3948
(anonymous function) jquery.js:3991
x.extend.each jquery.js:657
x.fn.x.each jquery.js:266
x.fn.extend.queue jquery.js:3984
x.fn.extend.animate jquery.js:9316
x.fn.(anonymous function) jquery.js:9442
(anonymous function) playingWithjQuery.php:38
c jquery.js:3048
p.fireWith jquery.js:3160
x.extend.ready jquery.js:433
q 

提前致谢!

//

我把它改成了一个div,这是我的html,这里是error page

<!DOCTYPE html>
<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <script src="js/jquery-1.10.2.js"></script>
    <script src="js/jquery.easing.1.3.js"></script>
    <script src="js/jquery.easing.compatibility.js"></script>
    <script src="js/jquery.easing.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

</head>

<body>
    <script>
        $(function() {
            $("div").slideUp(5000, "easeInOutQuart");

        });


    </script>

    <div style="height: 300px; width: 300px; background: green;"></div> 
</body>

** 我也在使用localhost服务器而不是实际在线,即使我的本地服务器上有源文件,这会影响插件吗?

2 个答案:

答案 0 :(得分:7)

JQuery只提供一个缓动函数作为标准,其他的是easing plugin的一部分。这包括easeInOutQuart。

根据jQuery API,.slideUp调用看起来应该是这样的:

$("#top_slide").slideUp({ duration: 5000, easing: "easeInOutQuart" });

jsfiddle:http://jsfiddle.net/L9D8e/

编辑 - 这个版本的html肯定有效!

<!DOCTYPE>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js></script>
</head>

<body>
<script>
    $(function() {
        $("div").slideUp(5000, "easeInOutQuart");

    });
</script>

  <div style="height: 300px; width: 300px; background: green;"></div> 
</body>
</html>

答案 1 :(得分:0)

您可以使用缓动插件

$("#top_slide").slideUp({duration:5000, easing:"easeInOutQuart"});