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 相关文章推荐
在JavaScript中获取请求的URL参数[正则]
Dec 25 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
Mar 11 Javascript
Document.location.href和.replace的区别示例介绍
Mar 04 Javascript
javascript面向对象之this关键词用法分析
Jan 13 Javascript
在浏览器中打开或关闭JavaScript的方法
Jun 03 Javascript
JS验证IP,子网掩码,网关和MAC的方法
Jul 02 Javascript
JavaScript实现的SHA-1加密算法完整实例
Feb 02 Javascript
微信支付 JS API支付接口详解
Jul 11 Javascript
jQuery中deferred对象使用方法详解
Jul 14 Javascript
微信小程序  自定义创建详细介绍
Oct 27 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
Apr 13 Javascript
JS实现图片放大镜插件详解
Nov 06 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
php4的session功能评述(一)
2006/10/09 PHP
一个更简单的无限级分类菜单代码
2007/01/16 PHP
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
php strftime函数的详细用法
2018/06/21 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
Jquery iframe内部出滚动条
2010/02/11 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
javascript中Array数组的迭代方法实例分析
2015/02/04 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
详解vue-cli3使用
2018/08/14 Javascript
Node.js搭建WEB服务器的示例代码
2018/08/15 Javascript
Vue配置marked链接添加target=&quot;_blank&quot;的方法
2019/07/19 Javascript
js获取 gif 的帧数的代码实例
2019/09/10 Javascript
vue实现鼠标经过动画
2019/10/16 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
详解python3百度指数抓取实例
2016/12/12 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
使用Python横向合并excel文件的实例
2018/12/11 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
pycharm 如何取消连按两下shift出现的全局搜索
2021/01/15 Python
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
超市营业员岗位职责
2013/12/20 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
庆七一活动方案
2014/01/25 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
广告公司文案策划岗位职责
2015/04/14 职场文书
Sql Server之数据类型详解
2022/02/28 SQL Server