CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法


Posted in Javascript onMay 12, 2015

本文实例讲述了CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法。分享给大家供大家参考。具体分析如下:

这里用CSS+JS实现点击文字后动画展开一个DIV层菜单,到期会自动关闭,是CSS结合JS实现的效果。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS+JS弹出DIV层</title>
<script type="text/javascript">
var w = 0;
var h = 0;
var mout;
function emotion(){
var oMenu = document.getElementById("menu");
if(w <= 50){
oMenu.style.display = "block";
fnLarge();
}
else{
fnSmall();
}
}
function fnLarge(){
var oMenu = document.getElementById("menu");
if(w < 200){
w += 50;
h += 25;
oMenu.style.width = w+"px";
oMenu.style.height = h+"px";
window.setTimeout("fnLarge()",10);
}
}
function fnSmall(){
var oMenu = document.getElementById("menu");
if(w > 0){
w -= 50;
h -= 25;
oMenu.style.width = w+"px";
oMenu.style.height = h+"px";
window.setTimeout("fnSmall()",5);
}
else{
oMenu.style.display = "none";
}
}
</script>
<style type="text/css">
body{
text-align: center;
}
p{
cursor: pointer;
margin: 0;
padding: 0;
font-size: 24px;
display: inline;
}
div a:link, div a:visited{
color: #666;
text-decoration: none;
}
div a:hover{
color: #FF6600;
text-decoration: underline;
}
div{
border: 2px solid #666;
background: #fff;
margin: 5px auto;
overflow: hidden;
display: none;
padding: 5px 10px;
}
ul,li{
margin: 0;
padding: 0;
}
li{
list-style: none;
width:70px;
}
li.title{
font-weight: bold;
}
</style>
</head>
<body>
<p onclick="emotion();">点击这行文字试试!</p>
<div id="menu" 
onmouseout="javascript:mout=setTimeout('fnSmall()',2111);" 
onMouseOver="javascript:clearTimeout(mout);">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="80" valign="top" align="left">
<ul>
<li class="title">ASP</li>
<li><a href="#" onclick="fnSmall();">新闻</a></li>
<li><a href="#" onclick="fnSmall();">论坛</a></li>
<li><a href="#" onclick="fnSmall();">CMS</a></li>
<li></li>
</ul></td>
<td width="80" valign="top" align="left">
<ul>
<li class="title">PHP</li>
<li><a href="#" onclick="fnSmall();">文章</a></li>
<li><a href="#" onclick="fnSmall();">聊天</a></li>
<li><a href="#" onclick="fnSmall();">插件</a></li>
<li><a href="#" onclick="fnSmall();">企业</a></li>
</ul>
</td>
<td width="80" valign="top" align="left">
<ul>
<li class="title">JSP</li>
<li><a href="#" onclick="fnSmall();">AJAX</a></li>
<li><a href="#" onclick="fnSmall();">JQUERY</a></li>
<li><a href="#" onclick="fnSmall();">MYSQL</a></li>
<li><a href="#" onclick="fnSmall();">JAVA</a></li>
</ul>
</td>
</tr>
</table>
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
基于jquery实现后台左侧菜单点击上下滑动显示
Apr 11 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
Jquery.addClass始终无效原因分析
Sep 08 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
Mar 05 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
May 25 Javascript
JS 面向对象之继承---多种组合继承详解
Jul 10 Javascript
JS获取一个表单字段中多条数据并转化为json格式
Oct 17 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
Nov 05 Javascript
微信小程序实现跑马灯效果
Oct 21 Javascript
实现高性能javascript的注意事项
May 27 Javascript
layui 表单标签的校验方法
Sep 04 Javascript
vue2的 router在使用过程中遇到的一些问题
Apr 13 Vue.js
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 #Javascript
js实现带按钮的上下滚动效果
May 12 #Javascript
js验证上传图片的方法
May 12 #Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 #Javascript
js实现一个链接打开两个链接地址的方法
May 12 #Javascript
js实现鼠标经过表格行变色的方法
May 12 #Javascript
js比较日期大小的方法
May 12 #Javascript
You might like
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
php中文乱码问题的终极解决方案汇总
2017/08/01 PHP
Javascript 面向对象特性
2009/12/28 Javascript
js下用层来实现select的title提示属性
2010/02/23 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
artDialog双击会关闭对话框的修改过程分享
2013/08/05 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
使用jQuery.form.js/springmvc框架实现文件上传功能
2016/05/12 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
解决vue多个路由共用一个页面的问题
2018/03/12 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
vue 实现在同一界面实现组件的动态添加和删除功能
2020/06/16 Javascript
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
Python自动发送邮件的方法实例总结
2018/12/08 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
Python递归函数特点及原理解析
2020/03/04 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
python中类与对象之间的关系详解
2020/12/16 Python
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
加拿大在线旅游公司:Flighthub
2019/03/11 全球购物
什么是servlet
2012/05/08 面试题
民主评议党员自我评议范文2014
2014/09/26 职场文书
Python中的程序流程控制语句
2022/02/24 Python