消除 slidetoggle 上的弹跳球效果

10

看起来它在循环了几次后就稳定下来了。这个人在这个视频中遇到了类似的问题:http://www.youtube.com/watch?v=KCFeImyBzfE

此外,这段代码的另一个问题是一旦你展示了曲目列表然后再次隐藏它,文字就不再切换了。最终会显示 "隐藏曲目列表",但它们已经被隐藏了。

<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>
1个回答

9
那是因为之前的滑动效果还没有完成,所以它排队等待多次触发。
slideToggle() 前尝试使用 .stop()。这将删除任何先前的事件,然后触发新事件。 来源 http://api.jquery.com/stop/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接