js制作可以延时消失的菜单


Posted in Javascript onJanuary 13, 2017

本文实例为大家分享了js可延时消失的菜单,供大家参考,具体内容如下

js制作可以延时消失的菜单

代码:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{padding:0;margin:0;}
ul{list-style:none;}
a{text-decoration:none;}
#menu{height:200px;border:1px solid #ccc;margin:40px auto;position:relative;}
#title{position:absolute;left:0;top:0;height:50px;border:1px solid yellow;background:blue;}
#title li{text-align:center;width:80px;height:30px;line-height:30px;float:left;background:#f1f1f1;border-radius:10px;color:#000;font-weight:bold;margin:10px 5px;cursor:pointer;}
#subtitle{height:30px;;border:1px solid #ccc;border-radius:10px;position:absolute;top:60px;left:10px;}
#subtitle:before{content:'';position:absolute;border-top:7px solid transparent;border-right:7px solid transparent;border-bottom:9px solid #ccc;border-left:7px solid transparent;top:-16px;left:30px;}
#subtitle:after{content:'';position:absolute;border-top:7px solid transparent;border-right:7px solid transparent;border-bottom:9px solid #fff;border-left:7px solid transparent;top:-15px;left:30px;}
#subtitle a{display:inline-block;height:20px;line-height:20px;margin:5px 5px;float:left;}
#subtitle a:hover{text-decoration:underline;}
</style>
<script>
window.onload = function () {
 var title = document.getElementById('title');
 var subtitle = document.getElementById('subtitle');
 var aA = subtitle.getElementsByTagName('a');
 var aLi = title.getElementsByTagName('li');
 var arr = [
  { title : '首页', subtitle : ['首页1','首页2','首页3']},
  { title : '关于我们', subtitle : ['关于我们1','关于我们2','关于我们3','关于我们4','关于我们5']},
  { title : '课程', subtitle : ['课程1','课程2','课程3']},
  { title : '新闻', subtitle : ['新闻1','新闻2']},
 ];
 var timer = null;



 for ( var i = 0; i < arr.length; i++ ) {
  var oLi = document.createElement('li');
  oLi.innerHTML = arr[i].title;
  oLi.index = i;
  oLi.onmouseover = function () {
   var width = parseInt(getStyle(this,'width'));
   var marginRight = parseInt(getStyle(this,'marginRight'));
   clearTimeout(timer);
   subtitle.innerHTML = '';
   createA(this.index);
   subtitle.style.left = 10 + (width + marginRight) * this.index + 'px';
   subtitle.style.display = 'block';
  }
  oLi.onmouseout = function () {
   timer = setTimeout(function () {
    subtitle.style.display = 'none';
   }, 100);
  }
  title.appendChild(oLi);
 } 
 subtitle.onmouseover = function () {
  clearTimeout(timer);
  this.style.display = 'block';
 }
 subtitle.onmouseout = function () {
  this.style.display = 'none';
 }
 createA(0);

 function createA(index){
  for ( var j = 0; j < arr[index].subtitle.length; j++ ){
   var oA = document.createElement('a');
   oA.innerHTML = arr[index].subtitle[j];
   subtitle.appendChild(oA);
  }
 }
 function getStyle(ele, attr) {
  return ele.currentStyle ? ele.currentStyle[attr] : 
   getComputedStyle(ele,0)[attr];
 }

}
</script>
</head>

<body>
<div id="menu">
 <ul id="title">
 </ul>
 <div id="subtitle">
 </div>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
你真的了解JavaScript吗?
Feb 24 Javascript
jquery 子窗口操作父窗口的代码
Sep 21 Javascript
js constructor的实际作用分析
Nov 15 Javascript
jquery分页对象使用示例
Apr 01 Javascript
jQuery实现的淡入淡出二级菜单效果代码
Sep 15 Javascript
javascript同步服务器时间和同步倒计时小技巧
Sep 24 Javascript
Jquery实现纵向横向菜单
Jan 24 Javascript
使用jQuery.form.js/springmvc框架实现文件上传功能
May 12 Javascript
浅析js绑定事件的常用方法
May 15 Javascript
JavaScript中匿名函数的用法及优缺点详解
Jun 01 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
Jul 07 Javascript
教你部署vue项目到docker
Apr 05 Vue.js
原生js实现下拉框功能(支持键盘事件)
Jan 13 #Javascript
js实现自动轮换选项卡
Jan 13 #Javascript
Javascript 使用ajax与C#获取文件大小实例详解
Jan 13 #Javascript
详解angularJs中自定义directive的数据交互
Jan 13 #Javascript
微信小程序 MD5加密登录密码详解及实例代码
Jan 12 #Javascript
很棒的一组js图片轮播特效
Jan 12 #Javascript
微信小程序 页面跳转传递值几种方法详解
Jan 12 #Javascript
You might like
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
php 获取页面中指定内容的实现类
2014/01/23 PHP
Destoon实现多表查询示例
2014/08/21 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
JS启动应用程序的一个简单例子
2008/05/11 Javascript
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
解决layui的table插件无法多层级获取json数据的问题
2019/09/19 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
python中urllib模块用法实例详解
2014/11/19 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
python 类详解及简单实例
2017/03/24 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
python实现按首字母分类查找功能
2019/10/31 Python
python随机模块random使用方法详解
2020/02/14 Python
伦敦哈德森鞋:Hudson Shoes
2018/02/06 全球购物
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
副处级干部考察材料
2014/05/17 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
政风行风整改报告
2014/11/06 职场文书
河童之夏观后感
2015/06/11 职场文书
期中考试后的感想
2015/08/07 职场文书
2016高考冲刺决心书
2015/09/23 职场文书
暑假开始了,你的暑假学习计划写好了吗?
2019/07/04 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python