如何做一个按钮二个事件

简介: DOM_text01 body,span,div,td{font-size:12px;line-height:1.5em;color:#849BCA;} #bodyL{ float:left; width:84px; margin-right:2px; } a.

<!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_text01 </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;
/*filter:alpha(opacity=50);*/

}
.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>
</body>
</html>


目前这个是二个按钮来控制打开与关闭
<a href="#" class="od" onclick = "show('fd');return false;">[打开层] </a>
<a href="#" class="od" onclick = "closeed('fd');return false;">[关闭层] </a>
我想把这二个按钮整合成一个
也就是说一个按钮里点第一次是打开,再打击第二次就变成关闭.
请各位高手指点下如何实现

 

 

function ShowIt(ShowHide) {

  asech= ShowHide.style.display

  if (asech=="none") {
    ShowHide.style.display="";
  } else {
    ShowHide.style.display="none";
  }
}

 

 

<a href="#" class="od" onclick = "operation('fd');return false;"> [操作] </a>
<script type="text/javascript">
var flag=true;
function operation(id){
  if(flag==true){
    flag = false;
    closeed(id);
  } else {
    flag = true;
    show(id);
  }
}
</script>

目录
相关文章
|
5月前
|
开发工具 git
大事件项目42---怎么区分,发布还是草稿,下拉菜单的触发时机
大事件项目42---怎么区分,发布还是草稿,下拉菜单的触发时机
|
6月前
|
Android开发
个人热点蓝条出现和消失时,页面下压和恢复导致页面混乱及蓝条下压页面底部控件看不到的问题
个人热点蓝条出现和消失时,页面下压和恢复导致页面混乱及蓝条下压页面底部控件看不到的问题
56 0
|
数据安全/隐私保护 iOS开发 芯片
将任意应用窗口置顶显示,这个工具太强了。
将任意应用窗口置顶显示,这个工具太强了。
|
前端开发
前端工作总结108-修改新增按钮显示逻辑
前端工作总结108-修改新增按钮显示逻辑
106 0
前端工作总结108-修改新增按钮显示逻辑
|
前端开发
前端工作小结88-定义有对话框的按钮
前端工作小结88-定义有对话框的按钮
92 0
SwiftUI—如何实现对视图显示和消失事件的监听
SwiftUI—如何实现对视图显示和消失事件的监听
688 0
SwiftUI—如何实现对视图显示和消失事件的监听
|
小程序 前端开发 PHP
小程序怎么做查看更多的显示和隐藏
小程序怎么做查看更多的显示和隐藏
254 0
MFC怎么用代码改变CComboBox的下拉方式?
MFC怎么用代码改变CComboBox的下拉方式?
165 0
|
SQL JavaScript 前端开发
【自然框架】之鼠标点功能现(二):表单控件的“应用”—— 代码?只写需要的!
  【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】           看了大家的回复,好像不少人误会了,我为了突出“鼠标点,功能现”,所以没有说代码,没有贴代码,这就让一些人认为我想要完全抛弃VS,自己写一个“平台”来代替,不好意思,您高估我了,我可达不到。
865 0
|
前端开发 容器
用MVVM模式开发中遇到的零散问题总结(5)——将动态加载的可视元素保存为图片的控件,Binding刷新的时机
原文:用MVVM模式开发中遇到的零散问题总结(5)——将动态加载的可视元素保存为图片的控件,Binding刷新的时机       在项目开发中经常会遇到这样一种情况,就是需要将用户填写的信息排版到一张表单中,供打印或存档。
827 0