Javascript 更改<;中项目的范围;导航>;向下滚动到具有特定id的元素时
在我的HTML+引导网页上,有一个Javascript 更改<;中项目的范围;导航>;向下滚动到具有特定id的元素时,javascript,html,css,twitter-bootstrap,Javascript,Html,Css,Twitter Bootstrap,在我的HTML+引导网页上,有一个。在导航栏中,我有: <li class="active"><a href="#">Home</a></li> 如果我单击,页面将转到带有标记action的元素: <h1 style="text-align: center;" id="about">About</h1> 关于 但在滚动之后,“主页”仍处于活动状态,“关于”仍处于非活动状态。 如何更改哪个处于活动状态?要切换类,需要使用
。在导航栏中,我有:
<li class="active"><a href="#">Home</a></li>
如果我单击
,页面将转到带有标记action
的元素:
<h1 style="text-align: center;" id="about">About</h1>
关于
但在滚动之后,“主页”仍处于活动状态,“关于”仍处于非活动状态。如何更改哪个
处于活动状态?要切换类,需要使用一些Javascript:
var menu = document.querySelector('<put direct parent of lists here (ex: .menu)>');
var anchors = menu.getElementsByTagName('li');
for (var i = 0; i < anchors.length; i += 1) {
anchors[i].addEventListener('click', function() { clickHandler(anchors[i]) }, false);
}
function clickHandler(anchor) {
var hasClass = anchor.getAttribute('class');
if (hasClass !== 'active') {
anchor.setAttribute('class', 'active');
}
}
var菜单=document.querySelector(“”);
var archors=menu.getElementsByTagName('li');
对于(变量i=0;i<0.length;i+=1){
锚点[i]。addEventListener('click',function(){clickHandler(锚点[i])},false);
}
函数clickHandler(锚定){
var hasClass=anchor.getAttribute('class');
如果(hasClass!=“活动”){
setAttribute('class','active');
}
}
希望这有帮助:)通过Javascript实现……@Put12co22mer2 K。如果您知道如何检测“滚动到具有特定id的元素”,请在回答中发布。如果您知道正在处理的代码,请共享当您单击“li”时使其滚动的js。@Put12co22mer2只有一个href=“#关于”在按钮元素上。@Put12co22mer2这是我的项目,整个项目中没有JS。。。
var menu = document.querySelector('<put direct parent of lists here (ex: .menu)>');
var anchors = menu.getElementsByTagName('li');
for (var i = 0; i < anchors.length; i += 1) {
anchors[i].addEventListener('click', function() { clickHandler(anchors[i]) }, false);
}
function clickHandler(anchor) {
var hasClass = anchor.getAttribute('class');
if (hasClass !== 'active') {
anchor.setAttribute('class', 'active');
}
}