Javascript Can';t选定的颜色<;a>;标签
我正在开发一个完整的javascript菜单 我正在尝试根据用户的偏移量更改Javascript Can';t选定的颜色<;a>;标签,javascript,html,nodelist,Javascript,Html,Nodelist,我正在开发一个完整的javascript菜单 我正在尝试根据用户的偏移量更改或项的颜色。问我这是否可以理解 菜单 var menu = document.getElementById('header'); var work = document.getElementById('work'); var who = document.getElementById('who'); var contact = document.getElementById('contact'); var offsetW
或
项的颜色。问我这是否可以理解
菜单
var menu = document.getElementById('header');
var work = document.getElementById('work');
var who = document.getElementById('who');
var contact = document.getElementById('contact');
var offsetWork = work.offsetTop - 60;
var offsetWho = who.offsetTop - 60;
var offsetContact = contact.offsetTop - 60;
var ul = document.getElementsByTagName('ul')[0];
var li = ul.getElementsByTagName('li');
setInterval(function(){
var ul = document.getElementsByTagName('ul')[0];
var li = ul.getElementsByTagName('li');
if(getCurrPos() >= offsetWork){
menu.style.display = "block";
}else if(getCurrPos() <= offsetWork){
menu.style.display = "none";
}
if(offsetWork <= getCurrPos() <= offsetWho){
li[1].style.backgroundColor = '#00a9c6';
//li[1].getElementsByTagName('a').style.color = '#fff';
}else {
li[1].style.backgroundColor = '#fff';
}
if(offsetWho <= getCurrPos() <= offsetContact){
li[2].style.backgroundColor = '#00a9c6';
//li[2].getElementsByTagName('a').style.color = '#fff';
}else {
li[2].style.backgroundColor = '#fff';
}
if(getCurrPos() >= offsetContact){
li[3].style.backgroundColor = '#00a9c6';
//li[3].getElementsByTagName('a').style.color = '#fff';
}else {
li[3].style.backgroundColor = '#fff';
}
}, 100);
var menu=document.getElementById('header');
var work=document.getElementById('work');
var who=document.getElementById('who');
var contact=document.getElementById('contact');
var offsetWork=work.offsetTop-60;
var offsetWho=who.offsetTop-60;
var offsetContact=contact.offsetTop-60;
var ul=document.getElementsByTagName('ul')[0];
var li=ul.getElementsByTagName('li');
setInterval(函数(){
var ul=document.getElementsByTagName('ul')[0];
var li=ul.getElementsByTagName('li');
如果(getCurrPos()>=网外){
menu.style.display=“block”;
}else if(getCurrPos()使用
querySelector返回选择器选择的所有元素中的第一个元素
getElementsByTagName返回与选择器匹配的所有元素的集合,因此无法使用li[2]这样的语法访问该元素。getElementsByTagName('a').style.color尝试替换。getElementsByTagName('a').style.color='#fff'
为。getElementsByTagName('a')[0].style.color='#fff'
记住getElementsByTagName('a')
返回一个节点列表对象,表示锚元素的集合。可能重复非常感谢NewToJS,我在li上使用了它,但在a上没有,我的坏啊!谢谢你的提示!我在JS方面很新:)
li[3].querySelector('a').style.color = '#fff';