为了账号安全,请及时绑定邮箱和手机立即绑定

求高手帮我看下,那里错了我效果实现不了~~~~

function $(id){
   return typeof id==='string'?document.getElementById(id):id;
}
window.onload=function(){
   //标签的索引
   var index=0;
   var timer=null;
   var lis=$('notice-tit').getElementsByTagName('li'),
       divs=$('notice-con').getElementsByTagName('div');
   if(lis.length!=divs.length) return;
   //遍历所有页签
   for(var i=o;i<lis.length;i++) {
       lis[i].id = i;
       lis[i].onmouseover = function{
           //用that变量来引用当前li;
           var that=this;
           //如果存在准备执行的定时器,立即清除;只有当时时间大于500ms开始执行;
       if(timer){
           clearTimeout(timer);
           timer=null;
            }
           //延迟半秒执行;
       timer=setTimeout(function(){
           for(var j=0; j<lis.length;j++){
           lis[j].className='';
               divs[j].style.display='none';
           }
       lis[that.id].className='select';
       divs[that.id].className='block';
       },5000);
       }
   }
}

求高手帮我看下,那里错了我效果实现不了~~~~

正在回答

3 回答

 lis[i].onmouseover = function{

这句后面少了()

应该是 lis[i].onmouseover = function (){

0 回复 有任何疑惑可以回复我~

代码没有问题,应该是你写的setTimeout(function(){},5000);你写了5000,就是5秒了,太久了,

0 回复 有任何疑惑可以回复我~

随便看了下, onmouseover 这个,算是回调函数(反正我这么理解的)。

这样的话 ,每次调用到的i就会是 li.length的值,所以 出错。

你试试 换成匿名函数.

            (function(i){

              lis[i].id = i;

              lis[i].onmouseover = function{

                  //用that变量来引用当前li;

                  var that=this;

                  //如果存在准备执行的定时器,立即清除;只有当时时间大于500ms开始执行;

              if(timer){

                  clearTimeout(timer);

                  timer=null;

                   }

                  //延迟半秒执行;

              timer=setTimeout(function(){

                  for(var j=0; j<lis.length;j++){

                  lis[j].className='';

                      divs[j].style.display='none';

                  }

              lis[that.id].className='select';

              divs[that.id].className='block';

              },5000);

              }

            })(i);//你自己试试。 


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

求高手帮我看下,那里错了我效果实现不了~~~~

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信