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 相关文章推荐
Jquery中getJSON在asp.net中的使用说明
Mar 10 Javascript
始终在屏幕中间显示Div的代码(css+js)
Mar 10 Javascript
提高javascript效率 一次判断,而不要次次判断
Mar 30 Javascript
javascript trim函数在IE下不能用的解决方法
Sep 12 Javascript
javascript实现动态标签云
Oct 16 Javascript
javascript实现checkbox复选框实例代码
Jan 10 Javascript
详解js私有作用域中创建特权方法
Jan 25 Javascript
Centos7 中 Node.js安装简单方法
Nov 02 Javascript
AngularJS实现表单元素值绑定操作示例
Oct 11 Javascript
vue防止花括号{{}}闪烁v-text和v-html、v-cloak用法示例
Mar 13 Javascript
jquery 验证用户名是否重复代码实例
May 14 jQuery
vue实现多级菜单效果
Oct 19 Javascript
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
通过对php一些服务器端特性的配置加强php的安全
2006/10/09 PHP
使用eAccelerator加密PHP程序
2008/10/03 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
微信公众平台开发之配置与请求
2015/08/26 PHP
php实现JWT(json web token)鉴权实例详解
2019/11/05 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
js之onload事件的一点使用心得
2013/08/14 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
2015/11/23 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
Vue 实现点击空白处隐藏某节点的三种方式(指令、普通、遮罩)
2019/10/23 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
[04:39]显微镜下的DOTA2第十三期—Pis卡尔个人秀
2014/04/04 DOTA
Python中的pprint折腾记
2015/01/21 Python
python实现从字典中删除元素的方法
2015/05/04 Python
keras 指定程序在某块卡上训练实例
2020/06/22 Python
New Balance英国官方网站:始于1906年,百年慢跑品牌
2016/12/07 全球购物
Clearly新西兰:购买眼镜、太阳镜和隐形眼镜
2018/04/26 全球购物
教师申诉制度
2014/01/29 职场文书
协议书范本
2014/04/23 职场文书
我的理想演讲稿
2014/04/30 职场文书
毕业评语大全
2014/05/04 职场文书
工作求职自荐信
2014/06/13 职场文书
体育教师求职信
2014/06/30 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
2015年暑期见闻
2015/07/14 职场文书
创业计划书之o2o水果店
2019/08/30 职场文书
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android