简体   繁体   English

jQuery的slideUp / slideDown的奇怪问题

[英]Strange issue with jQuery's slideUp/slideDown

I use the following code on a website: 我在网站上使用以下代码:

  // show tracks
  $('.content-playlist .track p').live('click', function() {
    var player_handle = $(this);
    $('.content-playlist .track .player').slideUp('slow', function() {
      player_handle.next().slideDown('slow');
    });
  });

Which should first closes any music players on the site (if any) and after that open the selected one. 首先应该关闭网站上的任何音乐播放器(如果有),然后打开选定的音乐播放器。

Clicking the first track works as expected. 单击第一首曲目按预期的方式工作。

However I'm having a strange issue: 但是我有一个奇怪的问题:

When clicking on the third track it opens, closes and opens again. 单击第三个轨道时,它会打开,关闭并再次打开。 (not what I want) (不是我想要的)

An example is online @: http://www.psykotaktyle.com/index.php?page=playlist 一个示例是在线@: http//www.psykotaktyle.com/index.php? page = playlist

I just cannot find out what´s wrong with my code. 我只是无法找出我的代码出了什么问题。 Any help is much appreciated! 任何帮助深表感谢!

EDIT 编辑

Tested with Chrome (v13), IE9 and FF4 经过Chrome(v13),IE9和FF4测试

DEMO 演示

$('.player').hide();
$('.content-playlist .track p').live('click', function() {
    $('.player:visible').slideToggle(600);
    $(this).next('.player').slideToggle(600);
});

This sounds like animation queuing as described at http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup 这听起来像http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup中所述的动画排队

Try: 尝试:

$('.content-playlist .track .player').stop().slideUp('slow', function() {
      player_handle.next().stop().slideDown('slow');
    });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM