我在网站上使用以下代码:
// 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');
});
});
首先应关闭网站上的所有音乐播放器(如果有的话),之后打开所选音乐播放器。
点击第一首曲目按预期工作。
但是我有一个奇怪的问题:
当点击第三首曲目时,它会打开,关闭并再次打开。 (不是我想要的)
一个例子是在线@:http://www.psykotaktyle.com/index.php?page=playlist
我无法找到我的代码有什么问题。非常感谢任何帮助!
修改
使用Chrome(第13版),IE9和FF4进行测试
答案 0 :(得分:1)
$('.player').hide();
$('.content-playlist .track p').live('click', function() {
$('.player:visible').slideToggle(600);
$(this).next('.player').slideToggle(600);
});
答案 1 :(得分:0)
这听起来像http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup
中描述的动画排队尝试:
$('.content-playlist .track .player').stop().slideUp('slow', function() {
player_handle.next().stop().slideDown('slow');
});