HeyLuckyGirl
2016-01-07 22:54
window.onload=function(){
//获取鼠标滑过的元素标签以及内容
var titles=$('notice-tit').getElementsByTagName('li'),
divs=$('notice-con').getElementsByTagName('li');
alert(titles.length);
if(titles.length!=divs.length) return;
//遍历titles下的所有li
for(var i=0;i<titles.length;i++){
titles[i].id=i;
alert(i);
titles[i].onmouseover=function(){
this.className="select";
}
}
}
数组的长度可以alert出来,但是for循环里不好用 为什么?
return的话后面就不执行了
当在一个函数里面执行 return 语句时,该函数将会停止执行。一个指定的值将会被返回给函数调用者。如果未指定返回表达式,则返回 undefined.详情请看:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/return
要循环数组里面的属性
我试了下,不是return的问题。alert(i)能执行。你把alert换成console.log,在控制台做调试。你可以发现控制台信息是3,0,1,2,也就是t.length和后面for里的讯息。查看dom树你还能看到新增的className,我不太明白你说的不起作用是啥意思。明显起作用了。只不过你还没写完整呀!
按照你这么写,你鼠标移到标题上的时候,对应的title也增加了select的className,如果你要避免这个情况,你应该在上面增加一个初始化的循环。
for(var i = 0;i<titlee.length;i++){titles[i].className = "";}
当然,对于整道题目来说,这仍然只是一部分。但是逻辑方面都差不多,你可以参考其他同学的代码。或者继续提问。
Tab选项卡切换效果
65465 学习 · 581 问题
相似问题