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 相关文章推荐
使用SyntaxHighlighter实现HTML高亮显示代码的方法
Feb 04 Javascript
一个简单的JS鼠标悬停特效具体方法
Jun 17 Javascript
jquery对象和DOM对象的区别介绍
Aug 09 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
Mar 26 Javascript
JavaScript实现数据类型的相互转换
Mar 06 Javascript
JS组件Bootstrap导航条使用方法详解
Apr 29 Javascript
AngularJS 整理一些优化的小技巧
Aug 18 Javascript
用js写的一个路由(简单实例)
Sep 24 Javascript
微信小程序 wxapp地图 map详解
Oct 31 Javascript
Angular angular-file-upload文件上传的示例代码
Aug 23 Javascript
Vue刷新修改页面中数据的方法
Sep 16 Javascript
ES2020 已定稿,真实场景案例分析
May 25 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
zend api扩展的php对象的autoload工具
2011/04/18 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
PHP编程实现微信企业向用户付款的方法示例
2017/07/26 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
js 实现复制到粘贴板的功能代码
2010/05/13 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
深入理解JavaScript函数参数(推荐)
2016/07/26 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
vue.js组件之间传递数据的方法
2017/07/10 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
Vue.js分页组件实现:diVuePagination的使用详解
2018/01/10 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
Django中使用group_by的方法
2015/05/26 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
浅谈CSS3中的变形功能-transform功能
2017/12/27 HTML / CSS
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
同学会邀请书大全
2014/01/12 职场文书
运动会四百米广播稿
2014/01/19 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
工作经历证明范本
2015/06/15 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
如何基于python实现单目三维重建详解
2022/06/25 Python