2010-11-13 32 views
3

在上面的代碼中,我們:jQuery的 - 不希望的跳躍效果(這經常發生,我不明白爲什麼)

1)點擊Categoria A,然後, 2)上大膽標題之一點擊出現。

您會注意到,在擴展而不是平滑移動的情況下,它會在放映過程結束時跳轉。 (看起來,當它發現一個<p>他跳);

這種行爲的原因是什麼?

他在這裏的相關代碼:代碼:

$('#btCategoriaA').click(function() { 
      $('#btCategoriaA').toggleClass('selecionado'); 
      $('#listaCategoriaA').slideToggle('slow', function() { 
      }); 
     }); 


     $('#btCategoriaB').click(function() { 
      $('#btCategoriaB').toggleClass('selecionado'); 
      $('#listaCategoriaB').slideToggle('slow', function() { 
      }); 
     }); 

     $('#btCategoriaC').click(function() { 
      $('#btCategoriaC').toggleClass('selecionado'); 
      $('#listaCategoriaC').slideToggle('slow', function() { 
      }); 
     }); 



     function mostraDesafio(num){ 
      $('#detalheDesafio'+num).slideToggle('slow'); 
     } 

我應該提供更多信息,請,只是讓我知道。

K.問候, MEM

回答

4

給你.detalheDesafio元素在CSS一定的寬度。這應該解決它。

.detalheDesafio { 
    width: 308px; 
} 

我不記得爲什麼需要它,但.slideToggle()方法需要它在某種程度上。

+0

我用這個掙扎這麼多的網站:關於這個bug

其他好的建議。非常感謝! ;) – MEM 2010-11-13 16:50:30

+0

@MEM - 不客氣。 :O) – user113716 2010-11-13 16:53:59

0

對我而言,最有效的方法是去掉元素內部的頂部邊距,我試圖使用.slideToggle()。這最終消除了跳躍的bug。 http://api.jquery.com/slideToggle/

相關問題