为什么我的跟代码会出现Cannot read property 'removeClass' of null这个错误??

来源:4-1 利用延迟和去抖技术进行优化

hopezhi

2017-06-04 16:52

代码对了好多遍了,都一样的,不知道有没有跟我一样的同学??

http://img.mukewang.com/5933ca030001565a06060835.jpg

http://img.mukewang.com/5933ca040001fad809290629.jpg


写回答 关注

3回答

  • qq_一切皆有对象_0
    2017-06-05 15:18:42

    29行 activeRow 被你赋值错了。

    qq_一切皆...

    好吧,我回答错了。

    2017-06-05 15:20:22

    共 1 条回复 >

  • 我不是管家
    2017-06-05 15:17:05

    我的建议是加个else

    .delegate('mouseenter',' li', function(e){
    //  console.log(e)
      if(!activeRow){
        // console.log($(e.target));
        activeRow = $(e.target).addClass('active');
        activeMenu = $('#' + activeRow.attr('data-id'));
        activeMenu.removeClass('none');
        return;
      }else{
        if(timer){
          clearTimeout(timer);
        }
        timer = setTimeout(function(){
          if(mouseInSub){
            return;
          }else{
            activeRow.removeClass('active');
            activeMenu.addClass('none');
    
            activeRow = $(e.target);
            activeRow.addClass('active');
            activeMenu = $('#' + activeRow.attr('data-id'));
            activeMenu.removeClass('none');
            timer = null;
          }
        }, 300)
      }
    
    
    })


  • 我不是管家
    2017-06-05 15:15:39

    因为当activeRow不存在的时候,还没有return,就进入下一步,而activeRow这时候没有赋值,所以没有removeClass方法

JS实现京东无延迟菜单效果

JS模拟京东商城无延迟菜单效果,学习菜单结构和样式处理

57661 学习 · 138 问题

查看课程

相似问题