![ASP.NET动态网站设计任务教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/757/31729757/b_31729757.jpg)
任务2-8 图形菜单的动态响应
需求:
图形菜单的设计有如下要求:
①图形菜单要有动感,鼠标移入时菜单标题文本加粗、颜色变红;移出时菜单标题文本颜色变黑。
②图形菜单要能记忆:能记住单击过的菜单标题文本颜色变蓝;移出单击过的菜单后,其菜单标题文本颜色仍然保持蓝色。
③图形菜单要可响应:能在页面上显示超链接信息。
分析:
本任务涉及鼠标移入事件、移出事件、单击事件,用数组对象保存所有菜单标题,使用全局变量记录单击过的菜单编号。
实现:
第一步,新建文件夹08,复制任务2-7中的页面。
第二步,在3个图形菜单的标题<div>标签中添加鼠标移入移出事件属性,它们的设置基本相同,onmouseover设置为“div_mouseover(this)”,onmouseout设置为“div_mouseout(this)”。
第三步,编写图形菜单的标题<div>标签鼠标移入、移出事件处理函数,具体如清单2-19所示。
清单2-19 图形菜单鼠标移入、移出事件处理函数的定义
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00046001.jpg?sign=1738932416-FYsO5GVg9AtSycwiUH1oR4i5R7LKpv3Y-0-a9f70865ec57e27bf935217fbdf9c886)
第四步,在3个图形菜单的标题<div>标签中添加相同的鼠标单击事件属性设置,onclick均设置为“div_click(this)”。
第五步,添加一个变量cur_act,用来记录当前被单击菜单的序号,设置其初值为0,修改移出事件的代码,使刚被单击的菜单标题保持蓝色文本。具体如清单2-20所示。
清单2-20 鼠标移出时保持被单击的菜单标题文本仍为蓝色
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00046002.jpg?sign=1738932416-4voZpmyNy49DGycolZeHZCfaFzUuocBq-0-f4ccb094e21178cdf380e45524619c60)
第六步,为菜单设置将打开的链接地址,添加一个id为info的<div>标签,并定义一个数组实例存储相应的链接地址。信息显示标签定义如清单2-21所示。
清单2-21 链接地址数组实例定义
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00046003.jpg?sign=1738932416-LlFpzutdXvXA3KsYpteTTxTlNlvsW2nL-0-d4eba0c15add6d31a6d4c70653974195)
第七步,编写图形菜单的标题<div>标签鼠标单击事件处理函数,以修改文本属性和激活属性,如清单2-22所示。
清单2-22 图形菜单单击事件处理函数的定义
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00046004.jpg?sign=1738932416-cXpK8sN2HuDyEW8hJUZmMNMfovI6yPgi-0-f7bb4b710fe4da58d0d008548a8ccfd3)
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00047001.jpg?sign=1738932416-qxj1OwcniFDfzZSf63yTvCvc7BMT6LQi-0-438884b9f362fbe1f1204091d793c410)
说明
显示超链接停息只是为了表现可记忆的功能,其实可以使用语句直接将当前页面导航到相应的链接地址,如window.location.href=link[cur_act]。