问题找到了,拼写错了 尴尬死了.....
return代表方法的返回值
absolute是给子元素用的;relative是给父元素使用的。都开启了的效果是子元素的位置属性(如top,left)是相对父元素算的。主要是用于子元素定位。
举个常见的例子:给你一个500px X 500px 的div。要求你从200px X 100px 的那里开始写内容。
activeRow要确保是一个jQuery对象,不然removeClass这个方法就不能用
建议找个jQuery教程学一下
是有两个东西的 一个是防抖 一个是节流
啥意思,这个mouseInSub是自定义的方法啊。。。
因为你没有在 b 的前面写var 定义呀
后边就是因为内容太少了,往右侧移动 实际上就已经移出了div的范围了,所以二级菜单会消失,你也可以画一下那个三角形试一下,内容太少 鼠标右移就在三角形的外边了。。。
81行才定义赋值的 activeRow = $(...),78行的activeRow是undefined的,当然不能调用了,81行往前移下
第一个菜单对应的二级菜单div块中class=''sub_content none' 把后面的none去掉
异或运算
这个其实也不算什么bug,你看到的空子菜单实际上就是它的padding造成的,你可以把padding这个css样式命令剥离出来,在鼠标移入li时addClass,移出li时removeClass。第二种方法比较简单,看图:
把那行代码写过来
可不可以分区域,当鼠标在左侧部分,就不需要延迟加载,当鼠标在右侧,就可以延迟加载。
因为你第32行是以主菜单(#test)绑定事件的 而主菜单有一个上边缘和一个下边缘 当你移到这个上边缘或者下边缘却没移到 li 元素上时 二级菜单sub显示了 但是二级菜单里面的元素却依然处于display:none状态
你可以将32行改为('#test li')绑定到 li元素上 同时修改55行为.on('mouseenter',function(e)就可以了
不过我也遇到过问题 就是没修改之前 我设置setTimeOut 能正常运行 但是我修改后 就失效了 不知道有没有人知道是什么原因
functions.js 放在megadropdown.js之前引入呢?
想学什么学什么,哈哈
楼主的正解,很多错误其实都是因为拼写错误了导致的。。。。不过有个问题,就是在第48行代码中 return f; 是什么鬼???
我的也是,代码都没有问题了,但是一级目录的延迟还在,找了好久蒙蔽了...
我和你一样的错,你看看是不是这里弄错位置了
https://github.com/ccccccl/JD-has-no-delayed-menu 代码不完全一样,根据理解实现了功能。欢迎点赞
没懂.
我都是跟着老师边讲我边自己敲的代码
我也遇到了这个问题,然后回头再看一遍,找出了两个问题:
#test 的第一个mouseenter方法下的第二行代码为:$(document).bind('mousemove',moveHanlder);开始写的unbind
第二个就是我下面多谢了一个timer = setTimeout(function(){......}
a,b作为函数参数传进去,在函数没有调用的时候,a,b不会出错。x,y无论在是函数作用域还是全局作用域都没有定义。
你好, 你90行的代码有问题,mousemove