0

問題:

私は小さな jQuery コンテンツ ボックスを作成しようとしています。これにより、ユーザーは 3 つのトップ レベルの選択肢から興味のあるセクションをクリックします。いずれかを選択すると、ここにリンクのリストが表示されます。これらのリンクのいずれかをクリックすると、div に埋め込まれた YouTube ビデオが読み込まれます。

そのため、現時点では、ユーザーがタブになるものをクリックできるように機能させています。これにより、タブ内のリストが表示されます。ユーザーがビデオ名をクリックする次の部分では、liアイテムまたはdiv埋め込みメディアが読み込まれますが、機能しません。

ここにデモがあります: http://jsfiddle.net/CVyAD/

一部のクラス名は似ていることに注意してください。これをすぐにまとめて、問題をそのままデモしてみました。

私がこれに正しい方法で取り組んでいるかどうか、そして私がやっていることを達成するためのより良い方法があるかどうかはわかりません. 任意のポインタ、ヒントをいただければ幸いです。この例は似ているように感じますが、面倒です。3 番目のレベルが表示されない理由がわかりません。上のレベルと同じ原理を使用しました。

4

1 に答える 1

0

これは、ID が vids1 ではなく vidsvid-1 として入力されたためです...これを確認してください。

http://jsfiddle.net/CVyAD/2/

-$(document).ready(function() {
    var activeId = $(".active").attr("id").replace("tab",""); 
    $("#content" + activeId).show();


    $(".tab li").click(function() {
      $(".controls").hide();
      $(".tab li.active").removeClass("active");
      $(this).addClass("active")
      var id = $(this).closest("li").attr("id").replace("tab","");
      $("#content" + id).show();
   });

    $(".tabAlt li").click(function() {
      $(".videos").hide();
      $(".tabAlt li.active").removeClass("active");
      $(this).addClass("active")
      var id = $(this).closest("li").attr("id").replace("tabAlt","");
      id = id.replace("vid-",""); //this is the line i added
      $("#vids" + id).show();
   });
});
于 2013-04-12T12:53:08.067 に答える