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 检测、添加、移除样式(className)函数代码
Sep 08 Javascript
IE之动态添加DOM节点触发window.resize事件
Jul 27 Javascript
深入理解jQuery中live与bind方法的区别
Dec 18 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
Feb 19 Javascript
jQuery插件bxSlider实现响应式焦点图
Apr 12 Javascript
JavaScript三元运算符的多种使用技巧
Apr 16 Javascript
js实现跨域访问的三种方法
Dec 09 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
Mar 09 Javascript
jQuery接受后台传递的List的实例详解
Aug 02 jQuery
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
Feb 14 Javascript
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
vue项目打包后上传至GitHub并实现github-pages的预览
May 06 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之对抗Web扫描器的脚本技巧
2008/10/01 PHP
php学习笔记 数组的常用函数
2011/06/13 PHP
PHP实现邮件群发的源码
2013/06/18 PHP
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
使用prototype.js进行异步操作
2007/02/07 Javascript
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
node.js的事件机制
2017/02/08 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
Angular2学习笔记之数据绑定的示例代码
2018/01/03 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
Python下使用Psyco模块优化运行速度
2015/04/05 Python
python实现简单ftp客户端的方法
2015/06/28 Python
Python运算符重载详解及实例代码
2017/03/07 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
Python函数的参数常见分类与用法实例详解
2019/03/30 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
HTML5实现移动端弹幕动画效果
2019/08/01 HTML / CSS
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
宿舍打麻将检讨书
2014/01/24 职场文书
2014年教师政治学习材料
2014/06/02 职场文书
检讨书模板大全
2015/05/07 职场文书
工地食品安全责任书
2015/05/09 职场文书
负责培养人意见
2015/06/05 职场文书
幼儿园小班开学寄语(2016秋季)
2015/12/03 职场文书
担保书范文
2019/07/09 职场文书