原生JS实现仿淘宝网左侧商品分类菜单效果代码


Posted in Javascript onSeptember 10, 2015

本文实例讲述了原生JS实现仿淘宝网左侧商品分类菜单效果代码。分享给大家供大家参考。具体如下:

这是一款原生JS实现的仿淘宝网左侧商品分类菜单效果代码,JavaScript技术实现,兼容各主流浏览器。自己再修改一下CSS菜单,它会变得更漂亮。

运行效果截图如下:

原生JS实现仿淘宝网左侧商品分类菜单效果代码

在线演示地址如下:

具体代码如下:

<!DOCTYPE html>
<head>
<title>仿淘宝网左侧的商品分类菜单代码</title> 
</head>
<body>
<style>
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,select,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,button,caption,cite,code,dfn,em,input,optgroup,option,select,strong,textarea,th,var{font:inherit}del,ins{text-decoration:none}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:baseline}sub{vertical-align:baseline}legend{color:#000}
 .hidden{display:none;}
.sub-col{position:relative;z-index:999;}
.category{width:230px;border:1px solid #8A0E00;}
.category h3 {height:30px;line-height:30px;text-indent:15px;background:#A91319;color:#fff;}
.category ul li{height:30px;line-height:30px;text-indent:35px;background:#FFF8F6 url(arrow-r.png) no-repeat 205px center;border-bottom:1px solid #ECECEC;border-top:1px solid #fff;cursor:pointer;color:#A71F37;} 
.category ul li:hover{background-color:#8A0E00;color:#fff;}
.pop-category{border:2px solid #8A0E00;background:#FDF5F5;position:absolute;left:200px;top:40px;z-index:1000;}
.pop-category .sub-item{width:390px;height:350px;}
</style>
<div class="wrapper">
<div class='sub-col'>
<div class="category">
   <h3>所有商品分类</h3>
   <ul id="J_category" class="item">
    <li>潮流服饰</li>
    <li>精品鞋包</li>
    <li>美容护肤</li>
    <li>珠宝饰品</li>
    <li>运动户外</li>
    <li>手机数码</li>
    <li>居家生活</li>
    <li>家电家装</li>
    <li>母婴用品</li>
    <li>食品保健</li>
   </ul>
   <div id="J_popCategory" class="pop-category hidden">
    <div class='sub-item' style='display:none;'>潮流服饰</div>
    <div class='sub-item' style='display:none;'>精品鞋包</div>
    <div class='sub-item' style='display:none;'>美容护肤</div>
    <div class='sub-item' style='display:none;'>珠宝饰品</div>
    <div class='sub-item' style='display:none;'>运动户外</div>
    <div class='sub-item' style='display:none;'>手机数码</div>
    <div class='sub-item' style='display:none;'>居家生活</div>
    <div class='sub-item' style='display:none;'>家电家装</div>
    <div class='sub-item' style='display:none;'>母婴用品</div>
    <div class='sub-item' style='display:none;'>食品保健</div>
   </div>
  </div>
 </div>
 </div>
 <script type="text/javascript">
//get element's id with '$(id)' method
function $(){
 var elements = new Array();
 for (var i = 0; i < arguments.length; i++) {
 var element = arguments[i];
 if (typeof element == 'string') 
  element = document.getElementById(element);
 if (arguments.length == 1) 
  return element;
 elements.push(element);
 }
 return elements;
}
//get ele's className
function getElementsByClassName(className, tagName){
 var ele = [], all = document.getElementsByTagName(tagName || '*');
 for (var i = 0; i < all.length; i++) {
 if (all[i].className == className) {
  ele[ele.length] = all[i];
 }
 }
 return ele;
}
</script>
 <script type='text/javascript'>
 var category=$('J_category'),popCategory=$('J_popCategory'),
 cateLi=category.getElementsByTagName('li'),subItems=getElementsByClassName('sub-item','div');
 category.onmouseover=function(){
  popCategory.style.display='block';
 };
 category.onmouseout=function(){
  popCategory.style.display='none';
 };
 for(var i=0; i<cateLi.length; i++){
  cateLi[i].index=i;
  cateLi[i].onmouseover=function(){
   for(var j=0; j<subItems.length; j++){
    subItems[j].style.display='none';
   }
   subItems[this.index].style.display='block';
  };
 }
 </script>
</body>
</html>

希望本文所述对大家的JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jquery的颜色选择插件实例代码
Oct 02 Javascript
IE6与IE7中,innerHTML获取param的区别
Mar 15 Javascript
JavaScript Event学习第六章 事件的访问
Feb 07 Javascript
javascript对数组的常用操作代码 数组方法总汇
Jan 27 Javascript
让复选框只能选择一项的方法
Oct 08 Javascript
javascript抽象工厂模式详细说明
Dec 16 Javascript
详解js跨域原理以及2种解决方案
Dec 09 Javascript
微信小程序开发的四十个技术窍门总结(推荐)
Jan 23 Javascript
vue数组对象排序的实现代码
Jun 20 Javascript
webpack4 处理CSS的方法示例
Sep 03 Javascript
js抽奖转盘实现方法分析
May 16 Javascript
vue中用 async/await 来处理异步操作
Jul 18 Javascript
JS+CSS实现电子商务网站导航模板效果代码
Sep 10 #Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
Sep 10 #Javascript
js实现的动画导航菜单效果代码
Sep 10 #Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
Sep 09 #Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
Sep 09 #Javascript
jQuery实现MSN中文网滑动Tab菜单效果代码
Sep 09 #Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
Sep 09 #Javascript
You might like
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP读取CSV大文件导入数据库的实例
2017/07/24 PHP
PHP将数据导出Excel表中的实例(投机型)
2017/07/31 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
用js遍历 table的脚本
2008/07/23 Javascript
jQuery 渐变下拉菜单
2009/12/15 Javascript
js变形金刚文字特效代码分享
2015/08/20 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
JavaScript对象封装的简单实现方法(3种方法)
2017/01/03 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
在vue中更换字体,本地存储字体非引用在线字体库的方法
2018/09/28 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
在Python中实现贪婪排名算法的教程
2015/04/17 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
四年大学生活的个人自我评价
2013/12/11 职场文书
会计学个人自荐信模板
2013/12/13 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
先进个人获奖感言
2014/01/24 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
2015年上半年信访工作总结
2015/03/30 职场文书
停课通知书
2015/04/24 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL