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 相关文章推荐
JQUERY THICKBOX弹出层插件
Aug 30 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
Jun 12 Javascript
jquery.boxy插件的iframe扩展代码
Jul 02 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
Nov 03 Javascript
javaScript基础语法介绍
Feb 28 Javascript
JavaScript实现简单的日历效果
Sep 25 Javascript
详解Vue项目部署遇到的问题及解决方案
Jan 11 Javascript
JS学习笔记之数组去重实现方法小结
May 29 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
Feb 04 Javascript
vue项目中使用bpmn-自定义platter的示例代码
May 11 Javascript
WebStorm中如何将自己的代码上传到github示例详解
Oct 28 Javascript
解决vant的Toast组件时提示not defined的问题
Nov 11 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中的正则表达式函数介绍
2012/02/27 PHP
php中通过curl检测页面是否被百度收录
2013/09/27 PHP
php调用C代码的实现方法
2014/03/11 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
javascript 数组操作详解
2015/01/29 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
javascript实现日期按月份加减
2015/05/15 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
mac下如何将python2.7改为python3
2018/07/13 Python
Python格式化输出字符串方法小结【%与format】
2018/10/29 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
python 下载文件的几种方法汇总
2021/01/06 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
合伙开公司协议书范本
2014/10/28 职场文书
项目合作意向书
2015/05/08 职场文书
2015年酒店服务员工作总结
2015/05/18 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python
浅析Python OpenCV三种滤镜效果
2022/04/11 Python