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下为Event handler传递动态参数的代码
Jan 06 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
Aug 28 Javascript
JS保存和删除cookie操作 判断cookie是否存在
Nov 13 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
Nov 30 Javascript
xmlhttp缓存清除的2种解决方法
Dec 13 Javascript
jQuery消息提示框插件Tipso
May 04 Javascript
JavaScript中的对象与JSON
Jul 03 Javascript
JavaScript返回上一页的三种方法及区别介绍
Jul 04 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
原生js实现查询天气小应用
Dec 09 Javascript
Bootstrap Table使用整理(二)
Jun 09 Javascript
Vue单文件组件基础模板小结
Aug 10 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
真正面向对象编程:PHP5.01发布
2006/10/09 PHP
php运行出现Call to undefined function curl_init()的解决方法
2010/11/02 PHP
PHP中几个常用的魔术常量
2012/02/23 PHP
二招解决php乱码问题
2012/03/25 PHP
php中{}大括号是什么意思
2013/12/01 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
JS中window.open全屏命令解析及使用示例
2013/12/11 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
javascript中递归函数用法注意点
2015/07/30 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
基于python计算并显示日间、星期客流高峰
2020/05/07 Python
python如何实现DES加密
2020/09/21 Python
家长会邀请书
2014/01/25 职场文书
乡镇安全生产目标责任书
2014/07/23 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
2015年三八妇女节活动总结
2015/02/06 职场文书
幼师中班个人总结
2015/02/12 职场文书
导游词之河北野三坡
2019/12/11 职场文书
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS