幕布斯7328391
2016-11-16 21:57
//我的HTML一部分: <ul id = "nav"> <li><a class = "link active" id = "link1" href = "#section1">1F男装</a></li><!-- 先给第一处设置active --> <li><a class = "link" id = "link2" href = "#section2">2F女装</a></li> <li><a class = "link" id = "link3" href = "#section3">3F美妆</a></li> <li><a class = "link" id = "link4" href = "#section4">4F数码</a></li> <li><a class = "link" id = "link5" href = "#section5">5F母婴</a></li> </ul> //js中已经获取到currentId设置导航焦点的一部分代码: var nav = document.getElementById('nav'); var links = document.getElementsByTagName('a'); for (var j=0; j<links.length; j++){ var href = links[j].href.split("#");//通过.href获取的是一大串网址 ,可用split分隔 var link = href[href.length-1]; if ( link != currentId){ links[j].className = "link"; } else { links[j].className = "link active"; } } //active是焦点居中添加的class属性。 //老师的方法是添加addClass和removeClass, //请问用className直接设置有无弊端?
在这个编码环境下是没有,如果有多个className,添加class, 要这样, links[j].className +=" "+ "link active"; 还有添加移除前都要判断是否已经存在 "link active"
网页定位导航特效
71394 学习 · 504 问题
相似问题