javascript - 选项卡内容不变

标签 javascript html css tabs

我正在尝试在一个页面中制作不同的选项卡,所有选项卡的正文内容都不同。但是,当我单击新选项卡时,正文没有改变。有人有什么建议吗?它改变了页面,但每个页面的主体都是一样的,我不确定为什么。不确定这是我在 html 中设置选项卡的方式还是需要用 java 更改的内容。任何帮助将不胜感激。

<!DOCTYPE html>
<html>
<head>
        <script        src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
    <link rel="stylesheet" type="text/css" href="./common/res.css"/>
    <meta charset="utf-8">
    <title>Room Reservation</title>
</head>
<header>
    <script type="text/javascript" src="./common/tab.js"></script>
</header>
<body>
    <div class="tabs">
        <ul class="tab-links">
            <li class="active"><a href="#tab1">Stage</a></li>
            <li><a href="#tab2">Studio</a></li>
            <li><a href="#tab3">Session</a></li>
        </ul>

<div class="tab-content">
    <div id="tab1" class="tab active">
        <form>
            Room Selection:<br>
            <select name="room">
                <option value="">Select Room</option>
                <option value="stage">Stage Access</option>
                <option value="grip">Grip Closet</option>
                <option value="grid">Grid</option>
        </form>
    </div>
    <div id="tab2" class="tab">
        <p>Studio</p>
    </div>

    <div id="tab3" class="tab">
        <p>Session</p>
    </div>
</div>
</div>
<script>
jQuery(document).ready(function() {
    jQuery('.tabs .tab-links li').on('click', function(e)  {
    tabs(jQuery(this).attr('data-toggle'));
    jQuery(this).addClass('active').siblings().removeClass('active');
    });`

    function tabs(tab) {
        jQuery('.tab-content .tab').hide()
        jQuery('.tab-content').find(tab).show();
    }
});
</script>
</body>
</html>



/*----- Tabs -----*/
.tabs {
width:100%;
display:inline-block;
}

/*----- Tab Links -----*/
/* Clearfix */
.tab-links:after {
    display:block;
    clear:both;
    content:'';
}

.tab-links li {
    margin:0px 5px;
    float:left;
    list-style:none;
}

    .tab-links a {
        padding:9px 15px;
        display:inline-block;
        border-radius:3px 3px 0px 0px;
        background:#7FB5DA;
        font-size:16px;
        font-weight:600;
        color:#4c4c4c;
        transition:all linear 0.15s;
    }

    .tab-links a:hover {
        background:#a7cce5;
        text-decoration:none;
    }

li.active a, li.active a:hover {
    background:#fff;
    color:#4c4c4c;
}

/*----- Content of Tabs -----*/
.tab-content {
    padding:15px;
    border-radius:3px;
    box-shadow:-1px 1px 1px rgba(0,0,0,0.15);
    background:#fff;
}

    .tab {
        display:none;
    }

    .tab.active {
        display:block;
    }

最佳答案

这是你的 jquery 代码正确的,有些括号没有正确关闭

$(document).ready(function(){
  function tabs(tab) {
    jQuery('.tab-content .tab').hide()
    jQuery('.tab-content').find(tab).show();
  }


$('.tabs .tab-links li').on('click', function(e)  {
    tabs($(this).attr('data-toggle'));
    $(this).addClass('active').siblings().removeClass('active');



  });
});

结果:jsfiddle

关于javascript - 选项卡内容不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35704647/

相关文章:

html - 父 DIV 中的圆 Angular 不影响子 DIV

javascript - jQuery拆分数组问题

javascript - 在谷歌地图中点击标记添加信息窗口

html - 在一个文本框中输入的文本会填充到另一个文本框中

javascript - 无需点击 PHP 脚本即可自动打开 URL

javascript - 使我的网站菜单触摸友好(下拉)

javascript - 响应ajax方法的innerHtml

javascript - 是否可以将助手作为参数传递给 Handlebars 部分?

javascript - 汉堡包图标无响应

javascript - 删除特定类的 div