老师的代码中,显示与隐藏的效果,逻辑没搞清楚,如下:
一:
鼠标如上移动时:
鼠标离开主菜单区域,会隐藏子菜单区域,
这时子菜单区域已经隐藏,为什么能触发鼠标进入子菜单区域时显示呢?
如果隐藏的时候,移入能显示,那么鼠标从任意一个方向进入子菜单区域不都能使其显示吗?
二:
鼠标如上移动时:
鼠标只是离开了主菜单项,而没有离开主菜单区域,为什么这时能触发隐藏子菜单区域呢?
我们也没有给主菜单项绑定鼠标离开事件啊。
正在回答
同学你好,1、因为是临界才可以这样的哦。若是把子菜单的left值设置大一些(就是不是紧挨着一级菜单),就不会有这种情况了,在移出之后,直接隐藏了。
2、是的哦。可以参考如下测试下,在我移出子元素,但是还在父元素的时候,也会触发父元素的移出事件哦。这个就是冒泡导致的。
希望能帮助到你,祝学习愉快!
同学你好,1、这是,主菜单的mouseout,表示鼠标从主菜单移入另一元素时触发。子菜单的mouseover, 表示鼠标从子菜单的外部首次移入子菜单边界之内触发。这里会先触发了移出事件然后触发子菜单的移入事件。
2、这是是因为冒泡的影响,onmouseout和onmouseover事件会冒泡。
当移入菜单中的每一项时,会冒泡到外层父元素menu- content上面 , 所以移出最后一项的时候(如移入到下面的菜单下面的空白处时 ),就会触发menu- content的绑定的事件,把子菜单给隐藏了。所以这样就达到了鼠标离开menu-item时二级菜单隐藏的效果哦。
因为冒泡同学还没有学习到,所以可能会有一些不理解。不用担心,先简单了解一下,后面课程中会有关于冒泡的课程。可以同学学习了后面的知识后,再来思考这个问题就容易理解了哦。
希望能帮助到你,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星