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自定义的漂亮单选按钮RadioButton
Nov 19 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
Aug 26 Javascript
javascript省市级联功能实现方法实例详解
Oct 20 Javascript
JavaScript转换与解析JSON方法实例详解
Nov 24 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
Nov 24 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
Dec 14 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
Jan 13 Javascript
JS求1到任意数之间的所有质数的方法详解
May 20 Javascript
原生js实现trigger方法示例代码
May 22 Javascript
浅析JS中NEW的实现原理及重写
Feb 20 Javascript
在Angular项目使用socket.io实现通信的方法
Jan 05 Javascript
JavaScript实现九宫格拖拽效果
Jun 28 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
PHP使用fopen与file_get_contents读取文件实例分享
2016/03/04 PHP
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
详解VueJs异步动态加载块
2017/03/09 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
Vue项目中配置pug解析支持
2019/05/10 Javascript
微信小程序版本自动更新的方法
2019/06/14 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
Python中的True,False条件判断实例分析
2015/01/12 Python
Python中type的构造函数参数含义说明
2015/06/21 Python
python删除服务器文件代码示例
2018/02/09 Python
python实现泊松图像融合
2018/07/26 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
Python3常见函数range()用法详解
2019/12/30 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
python爬虫爬取某网站视频的示例代码
2021/02/20 Python
汽车驾驶求职信
2013/10/25 职场文书
机电一体化自荐信
2013/12/10 职场文书
单位门卫岗位职责
2013/12/20 职场文书
大学生创业计划书的范文
2014/01/07 职场文书
小学开学寄语
2014/01/19 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
领导班子个人对照检查材料(群众路线)
2014/09/26 职场文书
学术会议开幕词
2016/03/03 职场文书
Redis+AOP+自定义注解实现限流
2022/06/28 Redis