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 相关文章推荐
jQueryUI的Dialog的简单封装
Jun 07 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
Dec 21 Javascript
JS制作简单的三级联动
Mar 18 Javascript
详解JS面向对象编程
Jan 24 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
Jun 08 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
Jun 29 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
Sep 08 Javascript
javascript回调函数的概念理解与用法分析
May 27 Javascript
vue 组件使用中的一些细节点
Apr 25 Javascript
JS实现json对象数组按对象属性排序操作示例
May 18 Javascript
vue项目上传Github预览的实现示例
Nov 06 Javascript
vue使用laydate时间插件的方法
Nov 14 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 随机数的深入理解
2013/06/05 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
Yii中特殊行为ActionFilter的使用方法示例
2020/10/18 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
jquery ready()的几种实现方法小结
2010/06/18 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
jQuery遍历json的方法分析
2016/04/16 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
轻松理解vue的双向数据绑定问题
2017/10/30 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
微信小程序实现登录遮罩效果
2018/11/01 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
[00:35]DOTA2上海特级锦标赛 VP战队宣传片
2016/03/04 DOTA
python 调用HBase的简单实例
2016/12/18 Python
python3 flask实现文件上传功能
2020/03/20 Python
Python小进度条显示代码
2019/03/05 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
哪种Python框架适合你?简单介绍几种主流Python框架
2020/08/04 Python
python实现扫雷游戏的示例
2020/10/20 Python
一款基于css3麻将筛子3D翻转特效的实例教程
2014/12/31 HTML / CSS
面试求职的个人自我评价
2013/11/16 职场文书
运动会稿件200字
2014/02/07 职场文书
《母鸡》教学反思
2014/02/25 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
运动会加油稿100字
2014/09/19 职场文书
公司酒会主持词
2015/07/02 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
MySQL表字段时间设置默认值
2021/05/13 MySQL
Linux系统下安装PHP7.3版本
2021/06/26 PHP