JavaScript实现动画打开半透明提示层的方法


Posted in Javascript onApril 21, 2015

本文实例讲述了JavaScript实现动画打开半透明提示层的方法。分享给大家供大家参考。具体如下:

<!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=gb2312" />
<title>DOM半透明提示层</title>
<style type="text/css">
body,span,div,td{font-size:12px;line-height:1.5em;color:#849BCA;}
#bodyL{
float:left;
width:84px;
margin-right:2px;
}
a.od{
width:80px;
height:25px;
line-height:25px;
text-align:center;
font-weight:bold;
border: 2px solid #849BCA;
display:block;
color:#547BC9;
float:left;
text-decoration:none;
margin-top:2px;
}
a.od:link{
background:#EEF1F8;
}
a.od:visited{
background:#EEF1F8;
}
a.od:hover{
background:#EEE;
}
a.od:active{
background:#EEE;
}
#fd{
width:500px;
height:200px;
background:#EDF1F8;
border: 2px solid #849BCA;
margin-top:2px;
margin-left:2px;
float:left;
overflow:hidden;
position:absolute;
left:0px;
top:0px;
cursor:move;
float:left;
}
.content{
padding:10px;
}
</style>
</head>
<body>
<div id="bodyL">
<a href="#" class="od" onclick = "show('fd');return false;">
[打开层]
</a>
<a href="#" class="od" onclick = "closeed('fd');return false;">
[关闭层]
</a>
</div>
<div id="fd" style="display:none;filter:alpha(opacity=100);opacity:1;">
<div class="content">移动层</div>
</div>
<script type="text/javascript">
var prox;
var proy;
var proxc;
var proyc;
function show(id){/*--打开--*/
clearInterval(prox);
clearInterval(proy);
clearInterval(proxc);
clearInterval(proyc);
var o = document.getElementById(id);
o.style.display = "block";
o.style.width = "1px";
o.style.height = "1px";
prox = setInterval(function(){openx(o,500)},10);
}
function openx(o,x){/*--打开x--*/
var cx = parseInt(o.style.width);
if(cx < x)
{
o.style.width = (cx + Math.ceil((x-cx)/5)) +"px";
}
else
{
clearInterval(prox);
proy = setInterval(function(){openy(o,200)},10);
}
}
function openy(o,y){/*--打开y--*/
var cy = parseInt(o.style.height);
if(cy < y)
{
o.style.height = (cy + Math.ceil((y-cy)/5)) +"px";
}
else
{
clearInterval(proy);
}
}
function closeed(id){/*--关闭--*/
clearInterval(prox);
clearInterval(proy);
clearInterval(proxc);
clearInterval(proyc);
var o = document.getElementById(id);
if(o.style.display == "block")
{
proyc = setInterval(function(){closey(o)},10);
}
}
function closey(o){/*--打开y--*/
var cy = parseInt(o.style.height);
if(cy > 0)
{
o.style.height = (cy - Math.ceil(cy/5)) +"px";
}
else
{
clearInterval(proyc);
proxc = setInterval(function(){closex(o)},10);
}
}
function closex(o){/*--打开x--*/
var cx = parseInt(o.style.width);
if(cx > 0)
{
o.style.width = (cx - Math.ceil(cx/5)) +"px";
}
else
{
clearInterval(proxc);
o.style.display = "none";
}
}
/*鼠标拖动*/
var od = document.getElementById("fd");
var dx,dy,mx,my,mouseD;
var odrag;
var isIE = document.all ? true : false;
document.onmousedown = function(e){
var e = e ? e : event;
if(e.button == (document.all ? 1 : 0))
{
mouseD = true;
}
}
document.onmouseup = function(){
mouseD = false;
odrag = "";
if(isIE)
{
od.releaseCapture();
od.filters.alpha.opacity = 100;
}
else
{
window.releaseEvents(od.MOUSEMOVE);
od.style.opacity = 1;
}
}
//function readyMove(e){
od.onmousedown = function(e){
odrag = this;
var e = e ? e : event;
if(e.button == (document.all ? 1 : 0))
{
mx = e.clientX;
my = e.clientY;
od.style.left = od.offsetLeft + "px";
od.style.top = od.offsetTop + "px";
if(isIE)
{
od.setCapture();
od.filters.alpha.opacity = 50;
}
else
{
window.captureEvents(Event.MOUSEMOVE);
od.style.opacity = 0.5;
}
//alert(mx);
//alert(my);
}
}
document.onmousemove = function(e){
var e = e ? e : event;
//alert(mrx);
//alert(e.button);
if(mouseD==true && odrag)
{
var mrx = e.clientX - mx;
var mry = e.clientY - my;
od.style.left = parseInt(od.style.left) +mrx + "px";
od.style.top = parseInt(od.style.top) + mry + "px";
mx = e.clientX;
my = e.clientY;
}
}
</script><br/>
<div>https://3water.com/</div>
</body>
</html>

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

Javascript 相关文章推荐
记录几个javascript有关的小细节
Apr 02 Javascript
javascript+xml技术实现分页浏览
Jul 27 Javascript
JSON 客户端和服务器端的格式转换
Aug 27 Javascript
jQuery Study Notes学习笔记 (二)
Aug 04 Javascript
24款非常有用的 jQuery 插件分享
Apr 06 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
May 17 Javascript
HTML Color Picker(js拾色器效果)
Aug 27 Javascript
Jquery使用小技巧汇总
Dec 29 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
Aug 18 Javascript
webpack独立打包和缓存处理详解
Apr 03 Javascript
微信小程序 开发之全局配置
May 05 Javascript
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
javascript格式化指定日期对象的方法
Apr 21 #Javascript
jQuery固定元素插件scrolltofixed使用指南
Apr 21 #Javascript
javascript判断数组内是否重复的方法
Apr 21 #Javascript
jQuery菜单插件superfish使用指南
Apr 21 #Javascript
javascript实现通过表格绘制颜色填充矩形的方法
Apr 21 #Javascript
jQuery标签编辑插件Tagit使用指南
Apr 21 #Javascript
jQuery背景插件backstretch使用指南
Apr 21 #Javascript
You might like
用函数读出数据表内容放入二维数组
2006/10/09 PHP
php汉字转拼音的示例
2014/02/27 PHP
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
PHP的Yii框架中使用数据库的配置和SQL操作实例教程
2016/03/17 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
js数组去重的hash方法
2016/12/22 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
DOM事件探秘篇
2017/02/15 Javascript
javaScript+turn.js实现图书翻页效果实例代码
2017/02/16 Javascript
如何选择jQuery版本 1.x? 2.x? 3.x?
2017/04/01 jQuery
vue2.X组件学习心得(新手必看篇)
2017/07/05 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
2019/07/19 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
浅析 Vue 3.0 的组装式 API(一)
2020/08/31 Javascript
一文总结学习Python的14张思维导图
2017/10/17 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
Python 变量的创建过程详解
2019/09/02 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
电子专业毕业生自我鉴定
2014/01/22 职场文书
交通违章检讨书
2014/09/21 职场文书
各种货币符号快捷输入
2022/02/17 杂记