已采纳回答 / 慕粉木粉
这个是CSS 选择器.a.current 指 a标签的class="current" 是指的a标签. 例:<a class="current" titile="" href=""></a>(就是a本身)a .current 指 a 标签的 子标签 的class="current" ,是指的a标签内所有class="current"的子标签,例:<a title="" href=""><span class="current"></span>&l...
2017-05-01
已采纳回答 / 樱桃小丸子的西瓜
我也有这样的情况,应该是点击5F的时候,它定位5F在页面正中,但是用jquery写的时候,是每一F的上顶部与页面上顶部距离小于0之后才会将class值赋给对应的F。所以你点击5F显示在正中,而jq判断距离顶部大于0,所以class属性给了4F。参照老师写的,将m.offset().top-300;判断时,每一层离页面顶端300px,就会将class传给对应的F。这种情况就没有了。表达有点绕,希望能够帮到你!
2017-05-01
已采纳回答 / 樱桃小丸子的西瓜
a标签的href都指给定了一个#id,这里就找a标签链接中给定的id与currenId相同的那一个a,然后给这个a一个class,这个a的样式就随之改变了
2017-05-01
不知道有没有人疑惑为什么没设置菜单的点击事件给他添加类,但是被点击的那个菜单会变色,这是因为a标签的锚点事件默认就会触发scrollTop事件,在事件中一并处理了
2017-05-01
$("[href=\""+currentId+"\"]").addClass("current");
$("[href='"+currentId+"']").addClass("current");
$("[href='"+currentId+"']").addClass("current");
2017-05-01
function hasClass(obj, cls) {//正则表达式 查找类
return obj.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)"));
}
function removeClass(obj, cls) {//如果存在,则删除
if(hasClass(obj, cls)) {
var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
obj.className = obj.className.replace(reg, "");
}
}
return obj.className.match(new RegExp("(\\s|^)" + cls + "(\\s|$)"));
}
function removeClass(obj, cls) {//如果存在,则删除
if(hasClass(obj, cls)) {
var reg = new RegExp("(\\s|^)" + cls + "(\\s|$)");
obj.className = obj.className.replace(reg, "");
}
}
window.onload=function(){
window.onscroll=function(){
var top=document.documentElement.scrollTop||document.body.scrollTop;
var menus=document.getElementById("menu").getElementsByTagName("a");
var items=getByClassName(document.getElementById("content"),"item");
window.onscroll=function(){
var top=document.documentElement.scrollTop||document.body.scrollTop;
var menus=document.getElementById("menu").getElementsByTagName("a");
var items=getByClassName(document.getElementById("content"),"item");