JS+CSS实现类似QQ好友及黑名单效果的树型菜单


Posted in Javascript onSeptember 22, 2015

本文实例讲述了JS+CSS实现类似QQ好友及黑名单效果的树型菜单。分享给大家供大家参考。具体如下:

今天介绍的这个菜单堪称极品啊,不过里面的有些图标丢失了,路径还留在那,真想使用的朋友自己制作两个折叠菜单的图标按路径传上去就行了,这个菜单是模仿QQ面板的菜单功能,很多朋友还是很喜欢这种功能的,没想到用这么少的JS代码也可实现 ,值得代签哦。

运行效果截图如下:

JS+CSS实现类似QQ好友及黑名单效果的树型菜单

在线演示地址如下:

具体代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>QQ好友/黑名单的树型菜单</TITLE>
</HEAD>
<BODY>
<script>
if (!document.getElementById)
 document.getElementById = function() { return null; }
function initializeMenu(menuId, actuatorId) {
 var menu = document.getElementById(menuId);
 var actuator = document.getElementById(actuatorId);
 if (menu == null || actuator == null) return;
 actuator.parentNode.style.backgroundImage = "url()";
 actuator.onclick = function() {
  var display = menu.style.display;
  this.parentNode.style.backgroundImage =
   (display == "block") ? "url()" : "url()";
  menu.style.display = (display == "block") ? "none" : "block";
  return false;
 }
}
 window.onload = function() {
   initializeMenu("productsMenu", "productsActuator");
   initializeMenu("newPhonesMenu", "newPhonesActuator");
   initializeMenu("compareMenu", "compareActuator");
  }
</script>
<style>
body {
 font-family: verdana, helvetica, arial, sans-serif;
}
#mainMenu {
 background-color: #EEE;
 border: 1px solid #CCC;
 color: #000;
 width: 203px;
}
#menuList {
 margin: 0px;
 padding: 10px 0px 10px 15px;
}
li.menubar {
 background: url() no-repeat 0em 0.3em;
 font-size: 12px;
 line-height: 1.5em;
 list-style: none outside;
}
.menu, .submenu {
 display: none;
 margin-left: 15px;
 padding: 0px;
}
.menu li, .submenu li {
 background: url() no-repeat 0em 0.3em;
 list-style: none outside;
}
a.actuator {
 background-color: transparent;
 color: #000;
 font-size: 12px;
 padding-left: 15px;
 text-decoration: none;
}
a.actuator:hover {
 text-decoration: underline;
}
.menu li a, .submenu li a {
 background-color: transparent;
 color: #000;
 font-size: 12px;
 padding-left: 15px;
 text-decoration: none;
}
.menu li a:hover, submenu li a:hover {
 text-decoration: underline;
}
span.key {
 text-decoration: underline;
}
</style>
</head>
<body>
<div id="mainMenu">
  <ul id="menuList">
  <li class="menubar">
   <a href="#" id="productsActuator" class="actuator">图秀地带收藏夹</a>
   <ul id="productsMenu" class="menu">
   <li>
    <a href="#" id="newPhonesActuator" class="actuator">我的好友</a>
    <ul id="newPhonesMenu" class="submenu">
    <li><a href="#">张三[10000001]</a></li>
    <li><a href="#">李四[10000002]</a></li>
    <li><a href="#">张三[10000001]</a></li>
    <li><a href="#">李四[10000002]</a></li>
    </ul>
   </li>
   <li>
    <a href="#" id="compareActuator" class="actuator">陌生人</a>
    <ul id="compareMenu" class="submenu">
    <li><a href="#">张三[10000001]</a></li>
    <li><a href="#">李四[10000002]</a></li>
    <li><a href="#">张三[10000001]</a></li>
    <li><a href="#">李四[10000002]</a></li>
    </ul>
   </li>
   </ul>
  </li>
  </ul>
 </div>
 </body>
</BODY>
</HTML>

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

Javascript 相关文章推荐
基于JQuery实现的图片自动进行缩放和裁剪处理
Jan 31 Javascript
瀑布流布局代码一例
Apr 11 Javascript
JS实现的一个简单的Autocomplete自动完成例子
Apr 16 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
Sep 04 Javascript
浅谈JavaScript对象与继承
Jul 10 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
Dec 14 Javascript
原生js实现节日时间倒计时功能
Jan 18 Javascript
vue.js国际化 vue-i18n插件的使用详解
Jul 07 Javascript
使用JS中的Replace()方法遇到的问题小结
Oct 20 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
javascript数组的定义及操作实例
Nov 10 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
Dec 02 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
Sep 22 #Javascript
QQ登录背景闪动效果附效果演示源码下载
Sep 22 #Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
Sep 22 #Javascript
jQuery实现Tab菜单滚动切换的方法
Sep 21 #Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
Sep 21 #Javascript
Java Mybatis框架入门基础教程
Sep 21 #Javascript
JS实现仿微博可关闭弹出层效果
Sep 21 #Javascript
You might like
提升PHP执行速度全攻略
2006/10/09 PHP
yii框架源码分析之创建controller代码
2011/06/28 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
解析JavaScript中的不可见数据类型
2013/12/02 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
js module大战
2019/04/19 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
Python对list列表结构中的值进行去重的方法总结
2016/05/07 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
澳大利亚最大的网上油画销售画廊:Direct Art Australia
2018/04/15 全球购物
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
美国婴儿服装购物网站:Gerber Childrenswear
2020/05/06 全球购物
领导失职检讨书
2014/02/24 职场文书
2014年机关后勤工作总结
2014/12/16 职场文书
中学图书馆工作总结
2015/08/11 职场文书
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers
Redis实现一个账号只能登录一个设备
2022/04/19 Redis
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android