以前经常看见网站有菜单的显示,鼠标移上去就出现下拉的效果,很绚丽,经过看JQuery视频后,发现实现也挺容易的。
Html中,通过<ul>和<li>标签将所需的元素写出来。
复制代码 代码如下:
<body>
<ul>
<li class="hmain">
<a href="#">菜单项1</a>
<ul>
<li>
<a href="#"> 子菜单项11</a>
</li>
<li>
<a href="#">子菜单项12</a>
</li>
</ul>
</li>
<li class="hmain">
<a href="#">菜单项2</a>
<ul>
<li>
<a href="#">子菜单项21</a>
</li>
<li>
<a href="#">子菜单项22</a>
</li>
</ul>
</li>
<li class="hmain">
<a href="#">菜单项3</a>
<ul>
<li>
<a href="#">子菜单项31</a>
</li>
<li>
<a href="#">子菜单项32</a>
</li>
</ul>
</li>
</ul>
</body>
最外围的<ul>中元素<li>即为菜单项1、菜单项2、菜单项3,下拉菜单分别在各主菜单之下,如果菜单最外层为ul,一层每个主菜单放在一个li中,如果有子菜单,在这个主菜单的li中建立新的ul,再依次嵌套即可构建多层的菜单。
CSS中
复制代码 代码如下:
ul,li{
/*清除ul和li上的小圆点*/
list-style:none;
}
ul{
/*清除子菜单的缩进值*/
padding:0;
margin:0;
}
.hmain{
background-image:url(../images/title.gif); //前面的小三角
background-repeat:repeat-x;
width:120px;
}
li{
background-color:#EEEEEE; //背景图片覆盖背景色
}
a{
//取消所有的下划线
text-decoration:none;
padding-left:20px;
display:block; /*块集元素可充满区域*/
display:inline-block;
width:100px;
padding-top:3px;
padding-bottom:3px;
}
.hmain a{
color:white;
background-image:url(../images/collapsed.gif);
background-repeat:no-repeat;
background-position:3px center;
}
.hmain li a{
color:black;
background-image:none;
}
.hmain ul{
display:none;
}
.hmain{
float:left;
margin-right:1px;
}<strong>
</strong>
Html中引用js文件jquery.js和menu.js,其中menu.js如下:
复制代码 代码如下:
$(document).ready(function(){
//页面中的DOM已经装载完成时,执行的代码
$(".main> a,.hmain a").click(function(){
//找到主菜单项对应的子菜单项
var ulNode=$(this).next("ul");
ulNode.slideToggle();
changeIcon($(this));
});
$(".hmain").hover(function(){
$(this).children ("ul").slideToggle();
changeIcon($(this).children("a"));
},function(){
$(this).children("ul").slideToggle();
changeIcon($(this).children("a"));
});
});
/*
*修改主菜单的指示图标
*/
function changeIcon(mainNode){
if(mainNode){
if(mainNode.css("background-image").indexOf("collapsed.gif")>=0){
mainNode.css("background-image","url('images/expanded.gif')");
}else{
mainNode.css("background-image","url('images/collapsed.gif')");
}
}
}
这样绚丽的下拉菜单就完成了。实现很简单,不过里面的小知识点很零碎。例如:.main a和.main>a的不同之处,前者选择使用.main的这个class的元素内容所有的a节点,后者只选择.main的子节点中的a节点。
这样的例子应用性很强,在网站中使用让界面显得更加的美观,例子才看3个,抓紧时间继续看...
相关推荐:
AI仿写文章:开启内容创作新纪元
SEO实现:如何通过SEO优化提升网站流量与排名,南京市公司网站推广
seo站长什么意思,站长工具 - seo综合查询 ,ai少女身材
SEO指:如何通过精准优化提高网站流量和转化率,无锡论坛营销推广要多久
SEO模块:提升网站排名,驾驭数字营销未来,营口网站建设制作平台
seo读什么书,seo是哪个专业的 ,亚洲9ai吧
seo简报什么意思,seo工作汇报 ,万花筒 ai
AI免费写文章:让创作变得轻松高效
SEO出来,打破流量瓶颈,助力企业增长的关键策略,南昌营销推广代理商电话
文章AI排版,让创作更高效的秘密武器
什么是SEO优化方案,seo的优化方案 ,ai emorobot
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
AI缩短短文-提升创作效率,写作新体验,光速写作业ai写作app
ChatGPT:打破语言障碍,理解与沟通的新时代,交通轨道ai
Bing学术搜索结果不显示时间?如何解决这一问题,提升学术研究效率!,ai怎么参考线
ChatGPT5.0为什么一直没出来?背后的技术与战略,元宵节ai趣赏月
seo网站排名关键词优化,seo网站关键词优化怎么做 ,ai回廊
ChatGPT当前不可用?背后的原因与解决方案全解析,ai propos
seo经理做什么的,seo经理招聘 ,盲人ai眼镜
seo重点是什么,seo最重要的指标 ,ai网格怎么用
AI做文章:引领智能创作的未来
seo软文用什么论坛,seo软文是什么意思 ,爱字幕的AI变脸不见了
seo管理系统是什么,seo网站管理 ,过度圆ai
SEO学堂:开启数字营销新时代,全面提升网站排名与流量,文山ai营销推广方案
SEO找出网站流量提升的终极策略,带你走向搜索引擎巅峰!,朝阳模板网站建设价格
seo进阶买什么书推广,seo的推广技巧 ,菩萨壁纸ai
SEO首选:如何通过优化网站提升排名和流量,简单的网站优化软件
SEO导流:如何通过精准优化实现网站流量大爆发,网站优化优化怎么做
seo网站反链是什么,网站反链怎么做 ,ai插画头像卡通
ChatGPT模型进化历程:人工智能的智慧革命,ai 喷枪星空
SEO课:让你从小白变成搜索引擎优化高手,推广自媒体营销计划
文章AI生成:让创作变得更简单、更高效!
SEO获客的秘诀:如何通过搜索引擎优化提升客户获取能力,厦门seo搜索优化排名
ChatGPT已识别但不可用?揭秘背后原因与解决方案!,小狸ai和斑马ai语文
未来写作新模式文章撰写AI如何助力内容创作
360刷排名工具选哪家?揭秘2025年最强排名优化工具!,ai写作网站哪个好一点
什么是SEO可以自学吗,seo零基础可以自学吗 ,ai1紫
为什么做seo的人很少,为了什么做seo ,ai不负你
SEO快速优化文章排名:提升网站流量的必备技巧,ai小苹果会员分享
SEO要不,来看看如何通过SEO优化提高网站流量和曝光度,seo 获客技巧
什么是seo网络推广seo顾问,seo网络推广员 ,ai20170119
360AI写作怎样?助力创作的新风尚,ai到访
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决连接问题!,ai制作艺术字
文章AI指令提升写作效率的智能助手
什么是seo如何进行seo,何谓seo ,红米的AI摄影什么意思
SEO优化:提升网站流量的终极指南,揭阳网站快速推广
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
ChatGPT登录界面都不显示了?可能是这些原因导致的!,上海小学ai智能课
SEO费用如何根据预算选择最合适的SEO服务,营销类推广网站
seo需要懂什么源码,seo需要懂什么源码技术 ,ai 纤维