2013-11-01 31 views
1

我剛剛讀了這個question and answer from StackExchange,但該解決方案對我無效。jQuery緩和slideUp緩動功能

這不起作用:

$("#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> 

** 另外我使用本地主機服務器,而不是實際存在在線,會影響插件,即使我的本地服務器上有源文件?

+0

所以使用一個工程。這裏有什麼問題? – karthikr

+0

它可能是你的選擇器?這些是你使用它的兩個不同的元素。另外,您並未特別提及您正在加載jQuery的緩動庫。如果你不這樣做,那麼你不會得到你期望的結果。最後,* easing *不起作用?例如,在您的第一個代碼段中 - 是否可以滑動*,但不會緩解,或者是什麼? –

+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> 
+0

感謝您將jsfiddle放好,但它仍然不適合我。我在插入頭插入,但它仍然給我的錯誤:未捕獲TypeError:對象#沒有方法'easeInOutQuart' –

+0

只有2這4個腳本標記是必需的第一個和最後一個。但是,不確定這會導致你的問題。你在測試你的頁面的瀏覽器是什麼?我從來沒有見過這樣的例外! –

+0

我使用的是Chrome瀏覽器,當它不工作時,我添加了更多的插件,希望越多越好(儘管我知道這不是它的工作原理)。 –

0

使用寬鬆插件,你可以做

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