原生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 相关文章推荐
JQERY limittext 插件0.2版(长内容限制显示)
Aug 27 Javascript
一些有用的JavaScript和jQuery的片段分享
Aug 23 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
Jan 27 Javascript
bootstrap fileinput 上传插件的基础使用
Feb 17 Javascript
简单实现js菜单栏切换效果
Mar 04 Javascript
JS实现移动端实时监听输入框变化的实例代码
Apr 12 Javascript
关于Vue.nextTick()的正确使用方法浅析
Aug 25 Javascript
JavaScript实现滑动导航栏效果
Aug 30 Javascript
妙用缓存调用链实现JS方法的重载
Apr 30 Javascript
Vue.js获取被选择的option的value和text值方法
Aug 24 Javascript
详解vue 2.6 中 slot 的新用法
Jul 09 Javascript
浅析VUE防抖与节流
Nov 24 Vue.js
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 htmlspecialchars加强版
2010/02/16 PHP
写出高质量的PHP程序
2012/02/04 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
替换php字符串中的单引号为双引号的方法
2017/02/16 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
laravel自定义分页的实现案例offset()和limit()
2019/10/15 PHP
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
js实现自动播放匀速轮播图
2020/02/06 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
把MySQL表结构映射为Python中的对象的教程
2015/04/07 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
python实现俄罗斯方块
2018/06/26 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
电视购物广告词
2014/03/19 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
中国梦团日活动总结
2014/07/07 职场文书
计生工作先进事迹
2014/08/15 职场文书
租车协议书
2015/01/27 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
mysql中between的边界,范围说明
2021/06/08 MySQL