2012-03-29 11 views
5

Mam problem z funkcją slideToggle w jQuery. To wcale nie jest gładkie. Za każdym razem, gdy klikam przycisk "Zobacz więcej", treść, która powinna być slideToggle, po prostu wyskakuje bez efektu co-tak-kiedykolwiek.jquery - slideToggle not smooth

Jest to kod HTML:

<td class="third"> 
    <a href="javascript:void(0)" class="btn btn-primary upgrade1">See More</a> 
</td>       

<tr class="see_more" id="see_more"> 
     <td colspan="3" class="see_more_content">Hello! How are you doing</td> 
</tr> 

To CSS:

.third{ 
    text-align:right; 
    padding-right:10px; 
} 
.see_more{ 
    display:none; 

} 
.see_more_content{ 
    text-align:center; 
} 

I wreszcie, javascript:

<script type="text/javascript"> 
      $(document).ready(function(){ 
       $(".upgrade1").click(function() { 
        $("#see_more").slideToggle("slow"); 
        }); 
       }); 
    </script> 

Czytałem artykuł „animacja Jump - szybka wskazówka ", ale nie sądzę, żeby to był problem. Ponieważ nie określiłem żadnego margin ani padding do treści, która powinna być slideToggle.

Z góry dziękuję za pomoc.

+0

Spróbuj slidetoggling div, a nie wiersza tabeli. Aby to osiągnąć, ustaw ukryty rząd i div, pokaż wiersz, następnie przesuń w dół div, i odwróć, aby ukryć oczywiście. –

Odpowiedz

9

Rzędy stołów nie wydają się ślizgać. Powinieneś spróbować znaleźć obejście, używając zamiast tego DIV. Ślizgają się i ożywiają znacznie lepiej. Można również zawinąć zawartość do elementu div i przesunąć ją? Może to przesunęłoby wiersz stołu, aby naśladować slajd.

+0

http://jsfiddle.net/v4msV/ - example –

+0

Tak, nie będę już zawracać sobie głowy umieszczaniem mojego przykładu. :) –

0

Wykonujesz slideToggle w rzędzie tabeli. Wiersze tabeli nie grają dobrze z niektórymi css. Oznacza to, że w niektórych przypadkach nie będzie się przesuwać, a pojawi się dopiero wtedy, gdy będzie w końcu widoczny.