2010-07-15 16 views
10

'inserBefore' öğesine animasyon eklemenin bir yolu var mı? Sağdaki son konumdan, soldaki ilk konuma doğru bir gezinme hareketinde bir sekmeye sahip olmak için garip bir iş gereksinimim var.animate 'insertBefore' jquery

İş, bunun gerçekleştiğinde ve animasyonlu bir şekilde hareket etmek istediğinde bariz olmasını istiyor.

bu söz konusu nav olduğunu düşünün:

Yani basitleştirilmiş bir örnektir budur.

<ul id="test"> 
    <li>First Item</li> 
    <li>Second Item</li> 
    <li>Third Item</li> 
    <li>Fourth Item</li> 
    <li>LAST Item</li> 
</ul> 

Aşağıdaki davranışı canlandırmanın herhangi bir yolu canlandırıldı mı?

$("li:last").insertBefore("li:first"); 
+0

Ul için css'yi gösterebilir misiniz? Sadece testi kolaylaştırmak için. –

cevap

3

Bunu deneyin, animasyonu istediğinizi yapacak şekilde düzenleyip düzenleyemeyeceğinizi öğrenin.

$('li:last') 
    .animate({height:'toggle'},200) 
    .insertBefore('li:first') 
    .animate({height:'toggle'},200); 
15

Böyle yapabilirsiniz:

$("li:last").slideUp(function() { 
    $(this).insertBefore("li:first").slideDown(); 
})​;​ 

You can test it here, bunlar anahtar animasyon geri aramasında bunu yaparak tamamlandıktan sonra .insertBefore() yapmaktır. Bu 'un çeşitli animasyon seçeneklerinden biri, örneğin any of the effects here'u da kullanabilirsiniz (bunlar için jQuery UI'yi dahil etmeniz gerekir).

+0

bunu gördüğünüzde mükemmel basit ve kolay değiştirilebilir. Teşekkürler! –