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 相关文章推荐
Mootools 1.2教程(2) DOM选择器
Sep 14 Javascript
javascript实现图片切换的幻灯片效果源代码
Dec 12 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
Aug 06 Javascript
Javascript 颜色渐变效果的实现代码
Oct 01 Javascript
iframe子页面获取父页面元素的方法
Nov 05 Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
Oct 21 Javascript
JavaScript实现三级联动菜单实例代码
Jun 26 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
Sep 02 Javascript
深入浅析Vue中的 computed 和 watch
Jun 06 Javascript
微信小程序入门之指南针
Oct 22 Javascript
JavaScript控制台的更多功能
Apr 28 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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
PHP的基本常识小结
2013/07/05 PHP
PHP pear安装配置教程
2016/05/14 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
打开超链需要“确认”对话框的方法
2007/03/08 Javascript
用JavaScript 处理 URL 的两个函数代码
2007/08/13 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
JavaScript 继承详解(六)
2016/10/11 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
详解Vue2 SSR 缓存 Api 数据
2017/11/20 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
Python实现正弦信号的时域波形和频谱图示例【基于matplotlib】
2018/05/04 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
性能服装:HYLETE
2018/08/14 全球购物
小班幼儿评语大全
2014/04/30 职场文书
优质服务演讲稿
2014/05/14 职场文书
组织鉴定材料
2014/06/02 职场文书
初中作文评语集锦
2014/12/25 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
师范生小学见习总结
2015/06/23 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android
springcloud整合seata
2022/05/20 Java/Android