2013-07-30 55 views
0

我是新來編寫jQuery,並希望得到一些關於如何重構的東西的幫助..我試圖讓元素在頁面加載順序淡入淡出。效果很好,但在代碼中看起來很笨拙。有更多經驗的人可以幫助我重構這個效率更高嗎?如何重構此jQuery淡入效果?

$('.home h1').delay(100).animate({ 
    opacity : '1' 
}, 'slow'); 

$('.home h2').delay(250).animate({ 
    opacity : '1' 
}, 'slow') ; 

$('.home h3').delay(400).animate({ 
    opacity : '1' 
}, 'slow'); 

$('.home hr').delay(550).animate({ 
    opacity : '1' 
}, 'slow'); 

$('.homeimages > img').delay(900).animate({ 
    opacity : '1' 
}, 'slow'); 


$('.homenav').delay(1000).animate({ 
    opacity : '1' 
}, 'slow'); 

謝謝!

+0

您可能需要閱讀有關鏈接jQuery中http://www.w3schools.com/jquery/jquery_chaining.asp –

+0

http://codereview.stackexchange.com – JJJ

+0

@SrikanthAD我沒有看到鏈接可以在這裏使用比已經使用的更多。 – JJJ

回答

1

請嘗試以下方法:

var elements: { 
    'selector': 100, // delay 
    'selector2': 200 // delay 
}; 

for(var selector in elements) { 
    $(selector).delay(elements[selector]).animate({ 
     opacity : '1' 
    }, 'slow'); 
} 
+0

感謝您的幫助! –

+0

@phil_C不客氣。 –