解释解释每一行的代码意思谢谢(HTML+css+js)
window.onload=function(){tab("logocl","li","tab_c","div","onmouseover")functiontab(lo...
window.onload = function(){
tab("logocl","li","tab_c","div","onmouseover")
function tab(logocl,logocl_tag,tab_c,tag_c_tag,evt){
var logocl = document.getElementById(logocl);
var logocl_li = logocl.getElementsByTagName(logocl_tag);
var tab_c = document.getElementById(tab_c);
var tab_c_li = tab_c.getElementsByTagName(tag_c_tag);
var len = logocl_li.length;
var i=0;
for(i=0; i<len; i++){
logocl_li[i].index = i;
logocl_li[i][evt] = function(){
for(i=0; i<len; i++){
logocl_li[i].className = '';
tab_c_li[i].className = 'hide';
}
logocl_li[this.index].className = 'act';
tab_c_li[this.index].className = '';
}
}
}
} 展开
tab("logocl","li","tab_c","div","onmouseover")
function tab(logocl,logocl_tag,tab_c,tag_c_tag,evt){
var logocl = document.getElementById(logocl);
var logocl_li = logocl.getElementsByTagName(logocl_tag);
var tab_c = document.getElementById(tab_c);
var tab_c_li = tab_c.getElementsByTagName(tag_c_tag);
var len = logocl_li.length;
var i=0;
for(i=0; i<len; i++){
logocl_li[i].index = i;
logocl_li[i][evt] = function(){
for(i=0; i<len; i++){
logocl_li[i].className = '';
tab_c_li[i].className = 'hide';
}
logocl_li[this.index].className = 'act';
tab_c_li[this.index].className = '';
}
}
}
} 展开
1个回答
2014-12-01 · 知道合伙人软件行家
老夭来了
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:1806
获赞数:8100
2008年从事软件开发,拥有多年的python,php,linux工作经验,发布过多个python,php的开源项目。
向TA提问 私信TA
关注
展开全部
//页面加载完成后调用onload方法
window.onload = function(){
//调用下面定义的函数
tab("logocl","li","tab_c","div","onmouseover")
//函数定义,函数名+参数
function tab(logocl,logocl_tag,tab_c,tag_c_tag,evt){
//获取id为logocl的对象,这个只有一个
var logocl = document.getElementById(logocl);
//获取tag为logocl_tag的对象,这个应该是多个
var logocl_li = logocl.getElementsByTagName(logocl_tag);
//获取id为tab_c的对象,这个只有一个
var tab_c = document.getElementById(tab_c);
//获取tag为tag_c_tag的对象,这个应该是多个
var tab_c_li = tab_c.getElementsByTagName(tag_c_tag);
//获取logocl_li对象的数目
var len = logocl_li.length;
//初始化i=0
var i=0;
//循环len次,应该是要对logocl_li进行处理
for(i=0; i<len; i++){
//给logocl_li[i]增加index属性,且赋值i
logocl_li[i].index = i;
////给logocl_li[i]设置evt事件发生时触发的方法
logocl_li[i][evt] = function(){
//这里写的不是很好,再次使用i=0,循环len次,用i容易让人困惑,
用别的变量名更清晰些,就是把logocl_li的class都设成'',
对应的tab_c_li的class设置成hide
for(i=0; i<len; i++){
logocl_li[i].className = '';
tab_c_li[i].className = 'hide';
}
//就是设置事件触发的那个对象的className为act
logocl_li[this.index].className = 'act';
//就是设置对应的tab_c_li的className为''
tab_c_li[this.index].className = '';
}
}
}
}
这个如果有html代码,更方便解释,而且觉得代码写的比较繁琐,用jquery写应该能简便不少。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询