解释解释每一行的代码意思谢谢(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 = '';
}
}
}

}
展开
 我来答
老夭来了
2014-12-01 · 知道合伙人软件行家
老夭来了
知道合伙人软件行家
采纳数: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写应该能简便不少。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式