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 json 新手入门文档
Dec 03 Javascript
JS 自定义函数缺省值的设置方法
May 05 Javascript
JQuery表格拖动调整列宽效果(自己动手写的)
Sep 01 Javascript
封装获取dom元素的简单实例
Jul 08 Javascript
OkHttp踩坑随笔为何 response.body().string() 只能调用一次
Jan 08 Javascript
详解js类型判断
May 22 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
Aug 08 Javascript
深入理解Vue父子组件生命周期执行顺序及钩子函数
Aug 12 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
Nov 08 Javascript
微信小程序中如何使用flyio封装网络请求
Jul 03 Javascript
详解Element-UI中上传的文件前端处理
Aug 07 Javascript
Vue实例的对象参数options的几个常用选项详解
Nov 08 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
PHP中调用ASP.NET的WebService的代码
2011/04/22 PHP
7个超级实用的PHP代码片段
2011/07/11 PHP
php记录日志的实现代码
2011/08/08 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
PHP把小数转成整数3种方法
2014/06/30 PHP
joomla数据库操作示例代码
2016/01/06 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
php libevent 功能与使用方法详解
2020/03/04 PHP
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
引入autocomplete组件时JS报未结束字符串常量错误
2014/03/19 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
简单实现js选项卡切换效果
2016/02/03 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
python实现SOM算法
2018/02/23 Python
Django更新models数据库结构步骤
2020/04/01 Python
django和flask哪个值得研究学习
2020/07/31 Python
python中字典增加和删除使用方法
2020/09/30 Python
Python中的流程控制详解
2021/02/18 Python
品质主管岗位职责
2014/03/16 职场文书
优秀毕业生求职信
2014/06/05 职场文书
给老婆的检讨书
2015/01/27 职场文书
薪资证明范本
2015/06/19 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
Python与C++中梯度方向直方图的实现
2022/03/17 Python