老师,麻烦解答一下鼠标离开主菜单区域,子菜单消失这个效果。

老师,麻烦解答一下鼠标离开主菜单区域,子菜单消失这个效果。

var index=0,//图片下标

timer=null,//定时器

pics=byId("banner").getElementsByTagName("div"),

dots=byId("dots").getElementsByTagName("span"),

prev=byId("prev"),

next=byId("next"),

len=pics.length,

menu=byId("menu-content"),

subMenu=byId("sub-menu"),

innerBox=subMenu.getElementsByClassName("inner-box"),

menuItems=menu.getElementsByClassName("menu-item");

//离开主菜单,子菜单隐藏

menu.onmouseout=function(){

subMenu.className="sub-menu hide";

}

.menu-content{

position: absolute;

left: 0;

top: 0;

padding-top:6px;

z-index: 2;

width: 244px;

height: 454px;

}



这里menu-content的height为454px,可为什么离开了最后一个menu-item子菜单就消失了?不是应该离开主菜单这个盒子的区域,子菜单才消失吗?

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,左侧的灰色部分menu-content绑定了onmouseout事件。在鼠标离开灰色部分menu-content,和离开其子div区域时都会触发onmouseout事件。所以在离开了最后一个子菜单后会触发onmouseout事件,子菜单会消失。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 加油啊豪 提问者 #1
    老师,你上面说的menu-box只绑定了onmouseout事件。 //离开主菜单,子菜单隐藏 menu.onmouseout=function(){ subMenu.className="sub-menu hide"; } 老师的意思是,离开menu-box和其子div区域,都会触发这个onmouseout事件,是这样吗? 为什么这里离开子div区域也会触发menu-box的onmouseout时间呢?
    2020-07-24 13:07:16
好帮手慕阿慧 2020-07-24 14:42:02

同学你好,是的。离开子div也会触发父元素的onmouseout事件这是onmouseout事件本身的问题。前端人员中需要对这个问题进行处理。同学知道就可以了。

祝学习愉快~

提问者 加油啊豪 2020-07-23 23:11:37

http://img1.sycdn.imooc.com//climg/5f19a87209ebd2cd12240478.jpg这里,鼠标移到“家具”下面,子菜单就消失了,不应该出了左侧的灰色边框才消失吗?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师