如何做一个按钮二个事件

<!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;
84px;
margin-right:2px;
}
a.od{
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{
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>

原文地址:https://www.cnblogs.com/y0umer/p/3839536.html