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