问答详情
源自:4-5 编程练习

小问题啦!!

 var itemTop=m.offset().top;
                 if(top>itemTop-200){
                     currentId="#"+m.attr("id");
                 }else{
                     return false;
                 }
              });

这个m.指的是什么

提问者:慕粉3686312 2016-09-12 23:57

个回答

  • 不起眼的魂
    2016-10-17 16:12:25

    楼上回答的很仔细了,不过这里要说的是 var m = $(this);而不是 var m = this;this表示的是dom元素对象,而$(this)表示的才是jQuery对象.只有jquery 对象才有offset()这个方法获取元素距离整个页面上上边距和左边距!

  • wobugaosuni2
    2016-09-13 11:04:33

    前面老师的代码 "var m=this;" ,把动态变化的this存储在m上,你可以在控制台上console.log(m),它输出的是当前的楼层item。另外,由于this是一个特殊的存在,它永远指向的是调用这个函数的域,域不同,this也会随着变化。所以比较好的编程习惯时,当需要用到this时,把它赋给一个变量。之后直接使用变量而不是this