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 相关文章推荐
解析arp病毒背后利用的Javascript技术附解密方法
Aug 06 Javascript
用JS操作FRAME中的IFRAME及其内容的实现代码
Jul 26 Javascript
jQuery 对象中的类数组操作
Apr 27 Javascript
IE本地存储userdata的一个bug说明
Jul 01 Javascript
JS图片浏览组件PhotoLook的公开属性方法介绍和进阶实例代码
Nov 09 Javascript
javascript实现的DES加密示例
Oct 30 Javascript
跟我学习javascript的执行上下文
Nov 18 Javascript
jQuery自定义动画函数实例详解(附demo源码)
Dec 10 Javascript
深入理解Vue 的条件渲染和列表渲染
Sep 01 Javascript
javascript数组定义的几种方法
Oct 06 Javascript
JS关于刷新页面的相关总结
May 09 Javascript
基于js Canvas实现二次贝塞尔曲线
Dec 25 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中常用的数组操作方法笔记整理
2016/05/16 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
2015/09/01 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖放商品放置购物车
2015/11/30 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
2020/08/03 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
python选择排序算法实例总结
2015/07/01 Python
Python打包文件夹的方法小结(zip,tar,tar.gz等)
2016/09/18 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
员工自我鉴定
2013/10/09 职场文书
茶叶生产计划书
2014/01/10 职场文书
少儿节目主持串词
2014/04/02 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
导游词之四川武侯祠
2019/10/21 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js