2017-01-05 1 views
-1

Когда я нажимаю на элемент (MMA) на левой панели навигации, я хочу, чтобы он отображался на странице, и когда я нажимаю на другой элемент (бокс) в своей навигации, я хочу, чтобы это вместо этого, как вкладки.Функция Onclick для отображения определенного элемента из меню

Я пытался, но не могу заставить его работать, Heres мой код:

HTML:

<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
    <title>Startsida</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
    <script src="jquery.js"></script> 
    <link rel="stylesheet" href="style.css" type="text/css"> 
    </head> 
    <body> 

        <!-- header --> 
    <div class="jumbotron"> 
     <h1>Top five facts about different martial arts</h1> 
    </div> 

        <!-- Top navigation --> 
    <nav class="navbar navbar-default"> 
     <div class="container"> 
     <div class="navbar-header"> 
     </div> 
     <ul class="nav navbar-nav"> 
      <li ><a href="#">Start</a></li> 
      <li class="active"><a href="#">Martial arts</a></li> 

     </ul> 
     </div> 
    </nav> 

        <!-- side navigation --> 
    <div class="row" id="row"> 
     <div class="col-sm-3" "col-lg-2" id="menu" > 
     <div class="sidebar-nav" "list-group"> 
      <div class="navbar navbar-default" role="navigation"> 
      <div class="navbar-header"> 
       <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse"> 
       <span class="sr-only">Toggle navigation</span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       </button> 
       <h1 class="head">Martial arts:</h1> 
      </div> 
      <div class="navbar-collapse collapse sidebar-navbar-collapse"> 
      <h3 class="side">Martial arts:</h3> 
       <ul class="nav navbar-nav" id="ul"> 

       <a href="#" class="list-group-item text-center">MMA</a> 
       <a href="#" class="list-group-item active text-center">Boxing</a> 
       <a href="#" class="list-group-item text-center">Muay thai</a> 
       <a href="#" class="list-group-item text-center">Kickboxing</a> 
       <a href="#" class="list-group-item text-center">Takwando</a> 
       <a href="#" class="list-group-item text-center">Karate</a> 
       <a href="#" class="list-group-item text-center">Braziliansk jijutsu</a> 
       <a href="#" class="list-group-item text-center">Wrestling</a> 
       </ul> 
      </div> 
      </div> 
     </div> 
     </div> 

        <!-- Main content --> 

      <div class=" col-sm-9 menu-tab"> 

       <div class="menu-tab-content "> 
       <h1>Top 5 fact about MMA</h1> 
       </div> 

       <div class="menu-tab-content active"> 
       <h1>Top 5 fact about Boxing</h1> 
       </div> 

      </div> 
    </body> 
    </html> 

JQuery:

$(document).ready(function() { 
     $("div#menu>div.sidebar-nav>a").click(function(e) { 
      e.preventDefault(); 
      $(this).siblings('a.active').removeClass("active"); 
      $(this).addClass("active"); 
      var index = $(this).index(); 
      $("div.menu-tab>div.menu-tab-content").removeClass("active"); 
      $("div.menu-tab>div.menu-tab-content").eq(index).addClass("active"); 
     }); 
    }); 
+0

нужно увидеть ваш CSS, а также. – deweyredman

ответ

0

Ваш селектор является неправильным. div#menu>div.sidebar-nav>a ищет a, что является непосредственным ребенком div.sidebar-nav. Но в вашем HTML, то a вложен несколько уровней ниже, что, таким образом это должно быть div#menu>div.sidebar-nav a

$(document).ready(function() { 
 
    $("div#menu>div.sidebar-nav a").click(function(e) { 
 
    e.preventDefault(); 
 
    $(this).siblings('a.active').removeClass("active"); 
 
    $(this).addClass("active"); 
 
    var index = $(this).index(); 
 
    $("div.menu-tab>div.menu-tab-content").removeClass("active"); 
 
    $("div.menu-tab>div.menu-tab-content").eq(index).addClass("active"); 
 
    }); 
 
});
.active { 
 
    background-color: yellow; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
v 
 
<!-- header --> 
 
<div class="jumbotron"> 
 
    <h1>Top five facts about different martial arts</h1> 
 
</div> 
 

 
<!-- Top navigation --> 
 
<nav class="navbar navbar-default"> 
 
    <div class="container"> 
 
    <div class="navbar-header"> 
 
    </div> 
 
    <ul class="nav navbar-nav"> 
 
     <li><a href="#">Start</a></li> 
 
     <li class="active"><a href="#">Martial arts</a></li> 
 

 
    </ul> 
 
    </div> 
 
</nav> 
 

 
<!-- side navigation --> 
 
<div class="row" id="row"> 
 
    <div class="col-sm-3" "col-lg-2" id="menu"> 
 
    <div class="sidebar-nav" "list-group"> 
 
     <div class="navbar navbar-default" role="navigation"> 
 
     <div class="navbar-header"> 
 
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse"> 
 
      <span class="sr-only">Toggle navigation</span> 
 
      <span class="icon-bar"></span> 
 
      <span class="icon-bar"></span> 
 
      <span class="icon-bar"></span> 
 
      </button> 
 
      <h1 class="head">Martial arts:</h1> 
 
     </div> 
 
     <div class="navbar-collapse collapse sidebar-navbar-collapse"> 
 
      <h3 class="side">Martial arts:</h3> 
 
      <ul class="nav navbar-nav" id="ul"> 
 

 
      <a href="#" class="list-group-item text-center">MMA</a> 
 
      <a href="#" class="list-group-item active text-center">Boxing</a> 
 
      <a href="#" class="list-group-item text-center">Muay thai</a> 
 
      <a href="#" class="list-group-item text-center">Kickboxing</a> 
 
      <a href="#" class="list-group-item text-center">Takwando</a> 
 
      <a href="#" class="list-group-item text-center">Karate</a> 
 
      <a href="#" class="list-group-item text-center">Braziliansk jijutsu</a> 
 
      <a href="#" class="list-group-item text-center">Wrestling</a> 
 
      </ul> 
 
     </div> 
 
     </div> 
 
    </div> 
 
    </div> 
 

 
    <!-- Main content --> 
 

 
    <div class=" col-sm-9 menu-tab"> 
 

 
    <div class="menu-tab-content "> 
 
     <h1>Top 5 fact about MMA</h1> 
 
    </div> 
 

 
    <div class="menu-tab-content active"> 
 
     <h1>Top 5 fact about Boxing</h1> 
 
    </div> 
 

 
    </div>