Javascript菜单将类设置为活动

Javascript菜单将类设置为活动,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,几天前我才接触到Javascript、HTML和CSS,所以我对它很陌生。。。。不管怎样,我正在尝试用Twitter的引导程序制作一个垂直菜单。我已经设法使菜单很好,但我想使它这样当你点击菜单上的一个按钮,它将使按钮有“活动”类,我尽我最大的努力去做,它的工作,但只有当你选择菜单选项的顺序,这是我的代码,如果有人能帮我解决这个问题,那将是伟大的 函数导航开关1(){ document.getElementById(“oogaboga”).innerHTML=“它可以工作。”; documen

几天前我才接触到Javascript、HTML和CSS,所以我对它很陌生。。。。不管怎样,我正在尝试用Twitter的引导程序制作一个垂直菜单。我已经设法使菜单很好,但我想使它这样当你点击菜单上的一个按钮,它将使按钮有“活动”类,我尽我最大的努力去做,它的工作,但只有当你选择菜单选项的顺序,这是我的代码,如果有人能帮我解决这个问题,那将是伟大的


函数导航开关1(){
document.getElementById(“oogaboga”).innerHTML=“它可以工作。”;
document.getElementById(“gotclass”).className=“占位符”
document.getElementById(“gotclass”).id=“noclass2”
document.getElementById(“noclass”).className=“active gotclass”;
document.getElementById(“noclass”).id=“gotclass”;
}
函数导航开关2(){
document.getElementById(“oogaboga”).innerHTML=“它可以工作。”;
document.getElementById(“gotclass”).className=“占位符”
document.getElementById(“gotclass”).id=“noclass”
document.getElementById(“noclass1”).className=“active gotclass”;
document.getElementById(“noclass1”).id=“gotclass”;
}
函数导航开关3(){
document.getElementById(“oogaboga”).innerHTML=“它可以工作。”;
document.getElementById(“gotclass”).className=“占位符”
document.getElementById(“gotclass”).id=“noclass1”
document.getElementById(“noclass2”).className=“active gotclass”;
document.getElementById(“noclass2”).id=“gotclass”;
}
帮助

这是一些简单的文本


您可以执行以下操作:

$(document).ready(function() {
    $(".container1 ul li").click(function(){   
        $(".container1 .active").removeClass("active");
        $(this).addClass("active");
    });
}
<div class="container1 col-md-10">
    <ul class="nav nav-pills nav-stacked col-md-10">
        <li><a href="#">Test</a></li>
        <li><a href="#">Test1</a></li>
        <li><a href="#">Test2</a></li>
    </ul>
</div>
并将html更改为如下内容:

$(document).ready(function() {
    $(".container1 ul li").click(function(){   
        $(".container1 .active").removeClass("active");
        $(this).addClass("active");
    });
}
<div class="container1 col-md-10">
    <ul class="nav nav-pills nav-stacked col-md-10">
        <li><a href="#">Test</a></li>
        <li><a href="#">Test1</a></li>
        <li><a href="#">Test2</a></li>
    </ul>
</div>


请在此处查看:

您可以执行以下操作:

$(document).ready(function() {
    $(".container1 ul li").click(function(){   
        $(".container1 .active").removeClass("active");
        $(this).addClass("active");
    });
}
<div class="container1 col-md-10">
    <ul class="nav nav-pills nav-stacked col-md-10">
        <li><a href="#">Test</a></li>
        <li><a href="#">Test1</a></li>
        <li><a href="#">Test2</a></li>
    </ul>
</div>
并将html更改为如下内容:

$(document).ready(function() {
    $(".container1 ul li").click(function(){   
        $(".container1 .active").removeClass("active");
        $(this).addClass("active");
    });
}
<div class="container1 col-md-10">
    <ul class="nav nav-pills nav-stacked col-md-10">
        <li><a href="#">Test</a></li>
        <li><a href="#">Test1</a></li>
        <li><a href="#">Test2</a></li>
    </ul>
</div>


请在此处查看:

注意navSwitch第一个参数中的
this
用法。 这完全是一个让逻辑发挥作用的问题

在onclick处理程序中,
onclick=“navSwitch(this)”
中,this指的是当前元素,通常称为节点。因此
navSwitch
的参数名为
node
。要理解
这个
的用法,您需要学习
面向对象编程
。用谷歌搜索一下

您想知道当前
的设置

Current就是上次单击的元素。原因是最后一个可用的元素将是其
活动类
未设置的元素

由于单击的元素将是
活动的
元素,因此我们将其设置为活动,但在此之前,我们将
当前
设置为该
单击的元素

至于我为什么选择了
gotclass
元素。这是任意设置的,因为这是您首先设置为活动的。如果您以后更改了它,您可以始终将
gotclass
类添加到其他元素中,这样,只要您已经设置了
active
类,它将是第一个
active

简言之,这是使用变量及其赋值的顺序。通过给变量分配不同的元素来处理变量,看看会发生什么

<!DOCTYPE html>
<html>

<head>
    <link rel="stylesheet" href="http://s3.amazonaws.com/codecademy-content/courses/ltp/css/bootstrap.css">
    <link rel="stylesheet" href="stylehelp.css">
    <link href="http://s3.amazonaws.com/codecademy-content/courses/ltp/css/shift.css" rel="stylesheet">
    <link href='http://fonts.googleapis.com/css?family=Indie+Flower' rel='stylesheet' type='text/css'>
    </head>

<body>
<script>

var current = null;
function navSwitch(node){
    if(current === null){
        current = document.getElementById("gotclass");
    }
    current.className = "placeholder";
    current = node;
    current.className = "active";
}
</script>

    <title>Help</title>
<div class="nav">
<div class="container">
<ul class="pull-left nav nav-pills">
<li><a href="index.html">Home</a></li>
<li><a href="gallery.html">Gallery</a></li>
<li><a href="cars.html">Cars</a></li>
</ul>

<ul class="pull-right nav nav-pills">
<li><a href="customerservice.html">Customer Care</a></li>
<li class="active"><a href="help.html">Help</a></li>
</ul>
</div>
</div>

    <div class="container1 col-md-10">
        <ul class="nav nav-pills nav-stacked col-md-10" id="nav0">
            <li class="active" id="gotclass" onclick="navSwitch(this)"><a href="#">Test</a></li>
            <li class="placeholder" id="noclass1" onclick="navSwitch(this)"><a href="#">Test1</a></li>
            <li class="placeholder" id="noclass2" onclick="navSwitch(this)"><a href="#">Test2</a></li>
        </ul>
    </div>

<div class="text">
    <div class="container">
        <p id="oogabooga">This is some simple text</p>
    </div>
</div>


    </body>

</html>

无功电流=零;
功能导航开关(节点){
如果(当前===null){
当前=document.getElementById(“gotclass”);
}
current.className=“占位符”;
电流=节点;
current.className=“活动”;
}
帮助

这是一些简单的文本


注意navSwitch第一个参数中使用的
this
。 这完全是一个让逻辑发挥作用的问题

在onclick处理程序中,
onclick=“navSwitch(this)”
中,this
指的是当前元素,通常称为节点。因此
navSwitch
的参数名为
node
。要理解
这个
的用法,您需要学习
面向对象编程
。用谷歌搜索一下

您想知道当前
的设置

Current就是上次单击的元素。原因是最后一个可用的元素将是其
活动类
未设置的元素

由于单击的元素将是
活动的
元素,因此我们将其设置为活动,但在此之前,我们将
当前
设置为该
单击的元素

至于我为什么选择了
gotclass
元素。这是任意设置的,因为这是您首先设置为活动的。如果你在将来改变这一点,你总是可以