这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
这篇文章主要为大家详细介绍了 js 自定义 QQ 菜单,具有收缩,下拉等功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
QQ 菜单大家都见过,这样有以下的功能:
1. 点击我的好友,会展示下拉出具体的好友
2. 再点击我的好友,会收缩
3. 首次点击具体的某个好友,只有当前这个好友高亮
4. 再次点击这个好友时,高亮状态就消失了
还是瞄一眼效果图吧:
最后代码
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <style>
- ul,h2 {padding:0;margin:0;} li{list-style:none;} #list{width:200px;margin:0
- auto;border:1px solid #000;} #list{width:200px;} #list h2{width:200px;height:30px;line-height:30px;text-align:center;background:url(img/ico1.gif)
- no-repeat 20% 50% #6699FF;text-indent:24px;border-bottom:1px dotted #000;}
- #list h2.active{background:url(img/ico2.gif) no-repeat 20% 50% #FFCC99;}
- #list ul{width:200px;text-align:center;display:none;} #list ul li{width:200px;height:30px;line-height:30px;}
- #list ul li.highlight{background:#FF66FF;}
- </style>
- <title>
- 无标题文档
- </title>
- <script>
- window.onload = function() {
- var oUl = document.getElementById('list');
- var oH2 = oUl.getElementsByTagName('h2');
- var aUl = oUl.getElementsByTagName('ul');
- var aLi = [];
- var arr = [];
- var oldLi = null;
- var num = 0;
- // 点击菜单显示隐藏
- for (var i = 0; i < oH2.length; i++) {
- oH2[i].index = i;
- oH2[i].onclick = function() {
- if (this.className === '') {
- aUl[this.index].style.display = 'block';
- this.className = 'active';
- } else {
- aUl[this.index].style.display = 'none';
- this.className = '';
- }
- }
- }
- // 获取菜单中的每个li
- for (var i = 0; i < aUl.length; i++) {
- aLi = aUl[i].getElementsByTagName('li');
- for (var j = 0; j < aLi.length; j++) {
- arr.push(aLi[j]);
- }
- }
- // 遍历aLi
- for (var i = 0; i < arr.length; i++) {
- arr[i].onOff = false;
- arr[i].onclick = function() {
- // 当上一个点击的li不是当前点击的Li
- if (oldLi && oldLi !== this) {
- oldLi.className = '';
- oldLi.onOff = false;
- }
- this.className = this.onOff ? '': 'highlight';
- this.onOff = !this.onOff;
- oldLi = this;
- }
- }
- }
- </script>
- </head>
- <body>
- <ul id="list">
- <li class="lis">
- <h2>
- 我的好友
- </h2>
- <ul>
- <li>
- 张三1
- </li>
- <li>
- 张三2
- </li>
- <li>
- 张三3
- </li>
- </ul>
- </li>
- <li class="lis">
- <h2>
- 企业好友
- </h2>
- <ul>
- <li>
- 李四1
- </li>
- <li>
- 李四2
- </li>
- <li>
- 李四3
- </li>
- </ul>
- </li>
- <li class="lis">
- <h2>
- 黑名单
- </h2>
- <ul>
- <li>
- 王五1
- </li>
- <li>
- 王五2
- </li>
- </ul>
- </li>
- </ul>
- </body>
- </html>
来源: http://www.phperz.com/article/17/0702/328709.html