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 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(5)
Dec 23 Javascript
JS中简单的实现像C#中using功能(有源码下载)
Jan 09 Javascript
iphone safari不支持position fixed的解决方法
May 04 Javascript
Javascript 实现的数独解题算法网页实例
Oct 15 Javascript
javascript中不提供sleep功能如何实现这个功能
May 27 Javascript
js实现简易的单数字随机抽奖(0-9)
Mar 19 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
Dec 02 Javascript
JavaScript阻止回车提交表单的方法
Dec 30 Javascript
浅谈JavaScript作用域和闭包
Sep 18 Javascript
解决angularjs WdatePicker ng-model的问题
Sep 13 Javascript
TypeScript基础入门教程之三重斜线指令详解
Oct 22 Javascript
JavaScript缓动动画函数的封装方法
Nov 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
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
document.getElementById为空或不是对象的解决方法
2010/01/24 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
基于JavaScript实现焦点图轮播效果
2017/03/27 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
python使用urllib2提交http post请求的方法
2015/05/26 Python
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
Python队列RabbitMQ 使用方法实例记录
2019/08/05 Python
python爬虫之遍历单个域名
2019/11/20 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
Python GUI库Tkiner使用方法代码示例
2020/11/27 Python
python爬虫如何解决图片验证码
2021/02/14 Python
纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例
2014/11/11 HTML / CSS
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
华为python面试题
2016/05/03 面试题
毕业生教师求职信
2013/10/20 职场文书
农村婚礼证婚词
2014/01/08 职场文书
女生抽烟检讨书
2014/10/05 职场文书
护士先进个人总结
2015/02/13 职场文书
会议主持词开场白
2015/05/28 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js