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 相关文章推荐
js使浏览器窗口最大化实现代码(适用于IE)
Aug 07 Javascript
子页向父页传值示例
Nov 27 Javascript
js设置function参数默认值(适合没有传参情况)
Feb 24 Javascript
javascript无刷新评论实现方法
May 13 Javascript
浅析JavaScript Array和string的转换(推荐)
May 20 Javascript
原生JS实现图片轮播切换效果
Dec 15 Javascript
Vue2.0 从零开始_环境搭建操作步骤
Jun 14 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
Aug 16 Javascript
VUE element-ui 写个复用Table组件的示例代码
Nov 18 Javascript
详解如何用typescript开发koa2的二三事
Nov 13 Javascript
vue中$refs, $emit, $on, $once, $off的使用详解
May 26 Javascript
微信小程序一周时间表功能实现
Oct 17 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 db类库进行数据库操作
2009/03/19 PHP
php+mysql 实现身份验证代码
2010/03/24 PHP
Smarty中的注释和截断功能介绍
2015/04/09 PHP
JQuery小知识
2010/10/15 Javascript
11款新鲜的jQuery插件[附所有demo下载]
2011/01/24 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
Java 正则表达式学习总结和一些小例子
2012/09/13 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
Vue实现商品飞入购物车效果(电商项目)
2019/11/26 Javascript
详解JSON.stringify()的5个秘密特性
2020/05/26 Javascript
JavaScript事件循环及宏任务微任务原理解析
2020/09/02 Javascript
python计算牛顿迭代多项式实例分析
2015/05/07 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
python爬虫解决验证码的思路及示例
2019/08/01 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
纽约海:Sea New York
2018/11/04 全球购物
电大毕业生自我鉴定
2013/11/10 职场文书
高一历史教学反思
2014/01/13 职场文书
更夫岗位责任制
2014/02/11 职场文书
股权转让意向书
2014/04/01 职场文书
社区爱国卫生月活动总结
2014/06/30 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
2016年学校综治宣传月活动总结
2016/03/16 职场文书
详解Vue的options
2021/05/15 Vue.js
使用nginx配置访问wgcloud的方法
2021/06/26 Servers
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技
MySQL批量更新不同表中的数据
2022/05/11 MySQL