2010-11-19 21 views
0

Ajax ile sonuçların yüklenmesi için bir arama fonksiyonum var ve sonuçları bir slayt animasyonu kullanarak gösteriyor. Harika çalışıyor! Ama ne yazık ki sadece ilk kez, ikinci kez (ve sonrasında) slayt aşağı animasyon çalışmıyor.jQuery UI yükseklik animasyonu ile slayt animasyonu sadece ilk kez çalışıyor

burada bir göz atın: http://jsfiddle.net/e4sQh/4/

arama uygulandı var is'nt ve hiçbir ajax veri yüklenir ancak noktası olsun. Yardım ettiğin için teşekkür ederim!

cevap

0

ile

slideToggle('#results',true); // inside hideLoading() 

değiştirin:

// get the original height 
    if(!height){ 
    // get original height 
    height = $el.show().height(); 
    // update the height 
    $el.data("originalHeight", height); 
    // if the element was hidden, hide it again 
    if(!visible) $el.hide().css({height: 0}); 
    } 

Böyle dışına taşınması gerekiyor:

// get the original height 
    if(!height){ 
    // get original height 
    height = $el.show().height(); 
    // update the height 
    $el.data("originalHeight", height); 
    } 
    // if the element was hidden, hide it again 
    if(!visible) $el.hide().css({height: 0}); 

Bu şekilde uygun, you can test it out hereher zaman gizler.

+0

Mükemmel üzerindeki sayesinde bir göz atın! –

0

senin burada (tek gerçek ilk kez olan) sizin if çek içine 0 için yükseklik ayarı yanlış da ondan

content.slideDown(); 
0

Bu bölüm Bunu yüksekliği elde etmek elemanını göstermek yanlış

if(!height){ 
    // get original height 
    height = $el.show().height(); 
    // update the height 
    $el.data("originalHeight", height); 
    // if the element was hidden, hide it again 
    if(!visible) $el.hide().css({height: 0}); 
    } 

olduğunu düşünüyorum, bu yüzden kolay görünür gibi kaymıyor!

position:absolute, visibility:hidden ve display:block ayarlarını yapmak için css() yöntemini kullanmalısınız.

Neyse JQuery işlevinizi yerini yöntem sağlar, slides