Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Eliminate bouncing ball effect on slidetoggle

It seems like it's in a bit of a loop for a few and then it stabalizes. This person had a similar problem in this video: http://www.youtube.com/watch?v=KCFeImyBzfE

Also, another problem with this code is that once you show the tracklist, then hide it again, the words stop toggling. it ends up saying "hide tracklist" and they are already hidden.

<script type="text/javascript">
$(document).ready(function() {
   $('.fullTracks').hide();
   $('.tracklist').click(function() {
      $('.fullTracks').slideToggle('medium');
      if ($('.fullTracks').is(':hidden')) {
         $(this).text('Show Tracklist');
      } else {
         $(this).text('Hide Tracklist');
      }
   });
});
</script>
like image 291
mrtunes Avatar asked Jul 25 '10 15:07

mrtunes


1 Answers

That is because the previous sliding effect has not finished yet, so it queues up to be fired multiple times.

Try the .stop() before the slideToggle(). This will remove any previous events and then fire a new one.

Source

http://api.jquery.com/stop/

like image 149
Val Avatar answered Oct 21 '22 16:10

Val