div标题栏拖动

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<style type="text/css">
.winFrame{ position:absolute; border: outset gray 1px; height:400; width:500;}
.winTitle{ position:absolute; border-bottom:1px solid black; background-color: background; width:100%; height:20px; cursor:move;}
.winContent{ position:absolute; top:30px; width:100% padding: 10px; overflow: auto;}
</style>
<SCRIPT LANGUAGE="JavaScript">
function beginDrag(elem,event){
var deltaX = event.clientX - parseInt(elem.style.left);
var deltaY = event.clientY - parseInt(elem.style.top);
document.attachEvent("onmousemove",moveHandler);//attachEvent()为注册事件
document.attachEvent("onmouseup",upHandler);
event.cancelBubble = true;//阻止事件冒泡
event.returnValue = false;//令返回值等于空
function moveHandler(e){
if(!e)
    e = window.event;
    elem.style.left = (e.clientX - deltaX) + "px";
    elem.style.top = (e.clientY - deltaY) + "px";
    e.cancelBubble = true;
}
function upHandler(e){
if(!e)
    e = window.event;
    document.detachEvent("onmousemove",moveHandler);
    document.detachEvent("onmouseup",upHandler);
    e.cancelBubble = true;
}
}
</SCRIPT>
</HEAD>
<BODY>
     <div class="winFrame" style="left:50px;top:50px;">
         <div class="winTitle" onMouseDown="beginDrag(this.parentNode,event);"> 标题 </div><!--parentNode指文档层次中的父对象,event指被触发的这个事件对象-->
      <div class="winContent">
        内容
         </div>
     </div>
</BODY>
</HTML>
posted @   郑文亮  阅读(375)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示