如何做一个按钮二个事件

简介: 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>

目录
相关文章
QT软件开发: QPlainTextEdit当做日志显示窗口
QT软件开发: QPlainTextEdit当做日志显示窗口
611 0
QT软件开发: QPlainTextEdit当做日志显示窗口
|
测试技术
软件测试面试题:遇到alert弹出窗如何处理?
软件测试面试题:遇到alert弹出窗如何处理?
467 0
|
前端开发
前端工作小结88-定义有对话框的按钮
前端工作小结88-定义有对话框的按钮
67 0
|
前端开发
前端工作总结108-修改新增按钮显示逻辑
前端工作总结108-修改新增按钮显示逻辑
82 0
前端工作总结108-修改新增按钮显示逻辑
|
前端开发
#yyds干货盘点# 【React工作记录五十三】键盘绑定按下事件
#yyds干货盘点# 【React工作记录五十三】键盘绑定按下事件
71 0
#yyds干货盘点# 【React工作记录五十三】键盘绑定按下事件
SwiftUI—如何实现对视图显示和消失事件的监听
SwiftUI—如何实现对视图显示和消失事件的监听
590 0
SwiftUI—如何实现对视图显示和消失事件的监听
|
小程序 前端开发 PHP
小程序怎么做查看更多的显示和隐藏
小程序怎么做查看更多的显示和隐藏
226 0
PyQt5 技术篇-QSpinBox选值框值改变触发事件实例演示,获取QSpinBox组件的值,选值框的边界值设置方法
PyQt5 技术篇-QSpinBox选值框值改变触发事件实例演示,获取QSpinBox组件的值,选值框的边界值设置方法
586 0
PyQt5 技术篇-QSpinBox选值框值改变触发事件实例演示,获取QSpinBox组件的值,选值框的边界值设置方法
MFC怎么用代码改变CComboBox的下拉方式?
MFC怎么用代码改变CComboBox的下拉方式?
137 0
|
SQL JavaScript 前端开发
【自然框架】之鼠标点功能现(二):表单控件的“应用”—— 代码?只写需要的!
  【自然框架】之鼠标点功能现(一):单表的增删改查(即上次5月23日活动的一个主题)【Demo、源码下载】           看了大家的回复,好像不少人误会了,我为了突出“鼠标点,功能现”,所以没有说代码,没有贴代码,这就让一些人认为我想要完全抛弃VS,自己写一个“平台”来代替,不好意思,您高估我了,我可达不到。
843 0