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 相关文章推荐
js 实现打印网页中定义的部分内容的代码
Apr 01 Javascript
JQuery Tab选项卡效果代码改进版
Apr 01 Javascript
手把手教你自己写一个js表单验证框架的方法
Sep 14 Javascript
JQuery小知识
Oct 15 Javascript
json的前台操作和后台操作实现代码
Jan 20 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
Feb 11 Javascript
JS正则替换去空格的方法
Mar 24 Javascript
JavaScript使用链式方法封装jQuery中CSS()方法示例
Apr 07 jQuery
原生JS实现的跳一跳小游戏完整实例
Jan 27 Javascript
webpack打包html里面img后src为“[object Module]”问题
Dec 22 Javascript
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 Vue.js
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 Vue.js
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
PHP出错界面
2006/10/09 PHP
destoon各类调用汇总
2014/06/20 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
PHP钩子实现方法解析
2019/05/21 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
JavaScript单元测试ABC
2012/04/12 Javascript
一个级联菜单代码学习及removeClass与addClass的应用
2013/01/24 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
浅谈jQuery构造函数分析
2015/05/11 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
学习jQuey中的return false
2015/12/18 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
微信小程序  modal弹框组件详解
2016/10/27 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
2017/03/21 jQuery
JavaScript编写棋盘覆盖代码详解
2017/08/28 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
东南亚排名第一的服务市场:kaodim
2019/03/28 全球购物
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
业务副厂长岗位职责
2014/01/03 职场文书
《草原》教学反思
2014/02/15 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
学风建设主题班会
2015/08/17 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
SQL实现LeetCode(178.分数排行)
2021/08/04 MySQL
实操Python爬取觅知网素材图片示例
2021/11/27 Python