2011-11-11 98 views
2

堅持與我在這一個。我試圖模仿CSS3過渡和(作爲一個例子),我很喜歡如何標誌進來,並做了「反彈」效應http://metalabdesign.comjQuery動畫或jQuery緩動?

我已經創建了一個快速jsFiddle關於我如何認爲這可能會jQuery動畫http://jsfiddle.net/EEtVs/但我真的不確定我是否應該使用jQuery Easing http://gsgd.co.uk/sandbox/jquery/easing/會是更好的路線。

我或多或少地尋找最好的方式來處理easeIn使用jQuery進行類型轉換。我在我的小提琴中走的路線是,我必須爲那些沒有啓用它的人指定一個非JS版本(我知道,每個人都應該,只是說),我希望它可以在所有瀏覽器中工作(不只是好的),這就是爲什麼我要去jQuery路線。

但是,我用我的jQuery方式看到的問題是我如何計算負面頂部定位以及如何影響實際的「過渡效果」。如果任何人有一個想法,我會如何創建類似的jQuery緩動(或更好的方式),我會非常感激。我在嘗試實施jQuery緩動方面做了很大的努力......所以現在真的陷入了泥潭。謝謝!

+0

[jQuery的動畫方法](http://api.jquery.com/animate/)採用可選的'easing'參數。或者我不理解你的問題?如果你使用jQuery-ui,你可以訪問[許多,更多](http://jqueryui.com/demos/effect/easing.html)緩動函數。 – btleffler

+0

嗨@btleffler我或多或少想弄清楚,如果我放置諸如'position:relative; top:-200px;'這樣的緩動效果是完全愚蠢的;)假設jQuery緩動是否被啓用,在JS被隱藏之前會出現元素的「閃爍」,然後再由同一個JS顯示。 Tryinig在這裏想出最好的/最合乎邏輯的用戶體驗......也許這與矛盾相比,無論如何都要褪色......但是我該認爲這很酷! ha – Zach

+0

如果你想最初隱藏事物,沒有理由不在你的CSS中使用'display:hidden'。如果用戶沒有啓用Javascript,則可以使用'

回答

0

我加入了寬鬆插件您的jsfiddle,然後添加一個新的寬鬆型到你的電話.animate()http://jsfiddle.net/jasper/EEtVs/1/

我也改變了你的動畫元素的top值,因爲它只需要足夠大在頁面加載時隱藏元素。

您可以通過更改「easeOutBounce」任何此頁面上的寬鬆類型的改變寬鬆型:http://gsgd.co.uk/sandbox/jquery/easing/

如果你想確保你的元素在關閉了JavaScript的瀏覽器顯示,運行在頁面的頭腳本,將一類這樣的HTML元素:

$('html').addClass('js'); 

現在你可以讓CSS的兩個版本供你蹦蹦跳跳地進視圖元素:

#heroElement { 
    position:relative; 
    top:0px; 
} 
.js #heroElement { 
    position:relative; 
    top:-60px; 
} 

這會將元素的頂部設置到頁面的頂部,除非啓用了JavaScript,在這種情況下該元素將被隱藏,直到JavaScript運行並顯示該元素。

+0

嗨@Jasper好吧,聽起來像是我想模仿MetaLab中的初始淡入/反彈,使用位置:相對於負面頂部位置(使用非js後備)和jQuery緩動動畫是我最好的選擇。謝謝你的幫助! – Zach

+0

查看我的關於用JavaScript添加類到HTML標記的編輯,以區分JS版本和非JS版本。 – Jasper

+0

嗨@賈斯珀 - 是的,絕對非常有用。我通常使用Twitter的Bootstrap和一些HTML5 Boilerplate(他們使用Modernizr),所以我認爲這是一個很好的方向。非常感謝! – Zach