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的比较好的办法
May 08 Javascript
JS上传前预览图片实例
Mar 25 Javascript
jquery的map与get方法详解
Nov 04 Javascript
Html5的placeholder属性(IE兼容)实现代码
Aug 30 Javascript
javascript实现右侧弹出“分享到”窗口效果
Feb 01 Javascript
jQuery实现可展开折叠的导航效果示例
Sep 12 Javascript
微信小程序 网络API 上传、下载详解
Nov 09 Javascript
详解Vue.js基于$.ajax获取数据并与组件的data绑定
May 26 Javascript
vue axios用法教程详解
Jul 23 Javascript
webpack3+React 的配置全解
Aug 21 Javascript
基于jQuery的$.getScript方法去加载javaScript文档解析
Nov 08 jQuery
微信小程序input抖动问题的修复方法
Mar 03 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
使用weixin-java-miniapp配置进行单个小程序的配置详解
2019/03/29 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
JS+HTML实现自定义上传图片按钮并显示图片功能的方法分析
2020/02/12 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
Clarins娇韵诗美国官网:法国天然护肤品牌
2016/09/26 全球购物
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
大学生怎样写好自荐信
2014/02/25 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
幼儿园师德师风学习材料
2014/05/29 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
Redis6.0搭建集群Redis-cluster的方法
2021/05/08 Redis
Python first-order-model实现让照片动起来
2022/06/25 Python