多个标签问题

时间:2014-12-28 03:09:47

标签: javascript jquery html tabs

我有以下小提琴:http://jsfiddle.net/7bt4f8zk/

基本上,我正在尝试使用多个标签,而且大部分都是。

但是,出于某种原因,当点击第二个选项卡上的新选项卡时(例如),它会复制第一个内容,即使它只能在第二个上运行。

我的jQuery看起来像:

$(document).ready(function() {
  $(".tabs-menu a").click(function(event) {
    event.preventDefault();
    $(this).parent().addClass("current");
    $(this).parent().siblings().removeClass("current");
    var tab = $(this).data("tab");
    $(".tab-content").not(tab).css("display", "none");
    $(tab).fadeIn();
  });
});

1 个答案:

答案 0 :(得分:1)

我刚刚调整了您的Fiddle并进行了以下调整:

$(document).ready(function () {
  $(".tabs-menu a").click(function (event) {
    event.preventDefault();
    $(this).parent().addClass("current");   
    $(this).parent().siblings().removeClass("current");
    var tab = $(this).data("tab");
    $(this).closest(".tabs-container").find(".tab-content").
            not(tab).css("display", "none");
    $(tab).fadeIn();
  });
});

并调整了第二个data-tab的{​​{1}}值以避免双倍。

主要调整是改变

tabs-container

$(".tab-content").not(tab).css("display", "none");

因此,一个标签容器上的更改只影响当前而不是两者。

对于CSS,我已将重命名的$(this).closest(".tabs-container").find(".tab-content"). not(tab).css("display", "none"); (第二个标签容器的第一个标签)添加到

.tab-4

所以最初显示两个容器的第一个选项卡。