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 jQuery插件练习
Dec 24 Javascript
jQuery实现类似滑动门切换效果的层切换
Sep 23 Javascript
jQuery实现下拉框左右选择的简单实例
Feb 22 Javascript
用JavaScript实现使用鼠标画线的示例代码
Aug 19 Javascript
node.js中的emitter.emit方法使用说明
Dec 10 Javascript
Vue.js 60分钟快速入门教程
Mar 28 Javascript
JavaScript生成图形验证码
Aug 24 Javascript
Vue响应式原理深入解析及注意事项
Dec 11 Javascript
vue实现鼠标移入移出事件代码实例
Mar 27 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
Oct 16 Javascript
nuxt 实现在其它js文件中使用store的方式
Nov 05 Javascript
vue实现树状表格效果
Dec 29 Vue.js
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
PHP 线程安全与非线程安全版本的区别深入解析
2013/08/06 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
2014/04/19 PHP
PHP中使用xmlreader读取xml数据示例
2014/12/29 PHP
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
2016/08/05 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
jquery实现一个全局计时器(商城可用)
2017/06/30 jQuery
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
React服务端渲染原理解析与实践
2021/03/04 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[46:42]DOTA2-DPC中国联赛正赛 Aster vs Magma BO3 第二场 3月5日
2021/03/11 DOTA
python中requests使用代理proxies方法介绍
2017/10/25 Python
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
在Python 字典中一键对应多个值的实例
2019/02/03 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
python join方法使用详解
2019/07/30 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
2019/09/20 Python
python编程的核心知识点总结
2021/02/08 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
高中学生期末评语
2014/04/25 职场文书
工程售后服务承诺书
2014/05/21 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB