0

我正在使用 Soundmanager2 和 RoyalCarousel 的组合来获得播放列表风格的轮播。我现在的目标是使其使其在选择特定幻灯片时,通过使用背/前向按钮或“跳过”链接,即适当的歌曲。这适用于除第一张幻灯片之外的所有幻灯片,它始终触发最后一张幻灯片开始播放。触发最后一张幻灯片也会触发最后一张幻灯片,所以这两个不是颠倒的。看到这个在行动。 http://ably.ca/hootch

$(".rsNavItem").live('click', function(){
  var id = $(this).index() + 1;
  $(".rsContainer div:nth-child("+ id +") .ui360 .sm2-360btn").click();
});

我在这里检查并重新检查了所有内容, :nth-child(1) 每次都选择 :nth-child(9) 。即使测试 id == 1 并使用 first-child 也不起作用......有什么想法吗?

4

3 回答 3

1

试试这个

var rsContainer = $('.rsContainer');
$('.rsNavItem').live('click', function(){
    var index = $(this).index();

    $('.rsSlide:eq(' + index + ') .ui360 .sm2-360btn', rsContainer).click();
});
于 2013-03-20T15:34:08.373 回答
0

我找到了解决方案,但我不喜欢它...

$(".rsNavItem").live('click', function(){
  var id = $(this).index();
  soundManager.stopAll();
  $(".rsContainer").children().each(function(){
      if ($(this).index() == id) {
          $(this).find(".ui360 .sm2-360btn").click();
          return false;
      }
  });
});

而不是使用 :nth-child,我决定尝试遍历所有子元素并检查'skip-to'链接的索引与幻灯片的索引,然后使用 find() 像以前一样点击按钮......我不喜欢它,因为它是一个循环......与 :nth-child 相比,它似乎更像是一个性能打击......

于 2013-03-20T15:15:04.343 回答
0

当您定位时

$(".rsContainer div:nth-child(1) ...

你得到不少于 37 个结果!

这就是他们父母的第一个孩子的所有 div,无论他们嵌套多深。

我想你的意思是

$(".rsContainer > div:nth-child(1) ...

(直接后代,不是任何级别的后代)

于 2013-03-20T21:35:20.350 回答