JavaScript+CSS实现仿天猫侧边网页菜单效果


Posted in Javascript onAugust 25, 2015

本文实例讲述了JavaScript+CSS实现仿天猫侧边网页菜单效果。分享给大家供大家参考。具体如下:

这是一款自己写的仿天猫的菜单效果,二级分类的功能已经实现,但没有美化,留着用的朋友自己完善吧,JS功能已经实现,鼠标移在主分类上,二级分类向右伸出展开,目前淘宝网、天猫购物、京东都在用的导航菜单特效,测试时候请先点击一下菜单,主菜单就显示出来了。

运行效果截图如下:

JavaScript+CSS实现仿天猫侧边网页菜单效果

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>仿天猫侧边网页菜单</title>
<style type="text/css">
*{margin:0; padding:0;}
body{ font-size:14px; font-family:"宋体";}
h1, h2, h3{ font-size:14px; font-weight:normal;}
li{ list-style:none;}
a{ color:#333; text-decoration:none;}
#nav{ width:202px; height:35px; background:#C00; margin:50px 0 0 20px;}
#nav h1{ padding-left:17px; line-height:35px; color:#fff; margin-right:17px;}
#box{ width:200px; border:1px solid #B00; border-top:none; margin-left:20px; display:none;}
#subnav{width:200px;}
#subnav .list{ width:200px; height:30px;}
#subnav .list h2{ width:160px; height:30px; padding-left:30px; line-height:30px; margin-right:10px;}
#subnav .list a:hover, #subnav .active a:hover{ color:#900; font-weight:bold;}
#subnav .active{ width:200px; height:30px; border-bottom:1px solid #b00; border-top:1px solid #b00; position:relative;}
#subnav .active h2{ width:170px; height:30px; padding-left:30px; line-height:30px; background:#fff; position:absolute; left:1px; top:0; z-index:4;}
#subnav .list_nav{ width:500px; overflow:hidden; border:1px solid #b00; position:absolute; left:200px; top:-1px; z-index:3; display:none;}
</style>
<script type="text/javascript">
window.onload=function()
{
 var oNav=document.getElementById('nav');
 var oBox=document.getElementById('box');
 var oSubnav=document.getElementById('subnav');
 var aLi=oSubnav.getElementsByTagName('li');
 var i=0;
 oNav.onclick=function()
 {
  if(oBox.style.display=='block')
  {
   oBox.style.display='none';
  }
  else
  {
   oBox.style.display='block';
  }
 }
 for(i=0;i<aLi.length;i++)
 {
  if(aLi[i].className=='list')
  {
   aLi[i].onmousemove=function()
   {
    for(i=0;i<aLi.length;i++)
    {
     var aDivList=this.getElementsByTagName('div')[0];
     aDivList.style.display='block';
     this.className='active';
    }
   }
   aLi[i].onmouseout=function()
   {
    for(i=0;i<aLi.length;i++)
    {
     var aDivList=this.getElementsByTagName('div')[0];
     aDivList.style.display='none';
     this.className='list';  
    }
   }
  }
 }
};
</script>
</head>
<body>
<div id="nav">
<h1>所有商品分类</h1>
</div>
<div id="box">
 <ul id="subnav">
  <li class="list">
   <h2><a href="#">服饰内衣、鞋靴运动</a></h2>
   <div class="list_nav">
    <ul>
     <li>1</li>
     <li>1</li>
     <li>1</li>
     <li>1</li>
    </ul>
   </div>
  </li>
  <li class="list">
   <h2><a href="#">电子商品</a></h2>
   <div class="list_nav">
    <ul>
     <li>222</li>
     <li>2222</li>
     <li>2222</li>
     <li>22222</li>
    </ul>
   </div>
  </li>
  <li class="list">
   <h2><a href="#">服饰内衣、鞋靴运动</a></h2>
   <div class="list_nav">
    <ul>
     <li>3333</li>
     <li>3333</li>
     <li>3333</li>
     <li>3333</li>
    </ul>
   </div>
  </li>
  <li class="list">
   <h2><a href="#">服饰内衣、鞋靴运动</a></h2>
   <div class="list_nav">
    <ul>
     <li>1</li>
     <li>1</li>
     <li>1</li>
     <li>1</li>
    </ul>
   </div>
  </li>
 </ul>
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
js中使用replace方法完成某个字符的转换
Aug 20 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
Jun 10 Javascript
理解javascript定时器中的单线程
Feb 23 Javascript
JS中的进制转换以及作用
Jun 26 Javascript
jQuery实现 RadioButton做必选校验功能
Jun 15 jQuery
Vue.js 单页面多路由区域操作的实例详解
Jul 17 Javascript
深入了解JavaScript 的 WebAssembly
Jun 15 Javascript
jQuery表单选择器用法详解
Aug 22 jQuery
Vue 利用指令实现禁止反复发送请求的两种方法
Sep 15 Javascript
ant-design表单处理和常用方法及自定义验证操作
Oct 27 Javascript
详解Vue的七种传值方式
Feb 08 Vue.js
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 #Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 #Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
Aug 25 #Javascript
js文本框走动跑马灯效果代码分享
Aug 25 #Javascript
jQuery实现图片左右滚动特效
Apr 20 #Javascript
JS+CSS实现滑动切换tab菜单效果
Aug 25 #Javascript
jquery图片滚动放大代码分享(1)
Aug 25 #Javascript
You might like
咖啡与水的关系
2021/03/03 冲泡冲煮
第十四节 命名空间 [14]
2006/10/09 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
JS实现多级菜单中当前菜单不随页面跳转样式而发生变化
2017/05/30 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
2018/01/08 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
玩转Koa之核心原理分析
2018/12/29 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
javascript 易错知识点实例小结
2020/04/25 Javascript
解决Linux系统中python matplotlib画图的中文显示问题
2017/06/15 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
Python中新式类与经典类的区别详析
2019/07/10 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
python如何查看网页代码
2020/06/07 Python
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
使用Vue.js和MJML创建响应式电子邮件
2021/03/23 Vue.js
教育科研先进个人材料
2014/01/26 职场文书
实习会计求职自荐信范文
2014/03/10 职场文书
文明之星事迹材料
2014/05/09 职场文书
公司财务经理岗位职责
2015/04/08 职场文书
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB