Тема: HTA, JScript: drag & drop окна HTA без caption
Уважаемые специалисты!
Может быть кто-то сталкивался с подобной задачей? Помогите советом.
Не получается у меня нормальный drag-and-drop для окна. Никак не могу придумать, чтоб курсор не выскакивал за пределы окна и "прилипал" к диву наглухо до onmouseup.
в коде рабочий минимум.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<META http-equiv="MSThemeCompatible" content="Yes">
<title>drag & drop</title>
<script language="JScript">
var W ={w:500, h:300}; W.x=(screen.width - W.w)/2; W.y=(screen.height - W.h)/2;
(function WinPos(w,h,x,y){
var w=w||W.w, h=h||W.h, x=x||W.x, y=y||W.y;
resizeTo(w, h);
moveTo(x, y)
})();
</script>
<hta:application ID="oHTA"
scroll ="no"
BORDER="none"
INNERBORDER ="no"
/>
<script language="JavaScript1.2">
function $(el){
var _el = (typeof(el) == 'string')?document.getElementById(el): el;
return _el;
}
var pic={};
var trnsp = 255;
var x,y, dobj, isdrag=false; //ie=document.all,
function winpos(e)
{ var xx = tx + event.clientX - x, yy =ty + event.clientY - y;
if (isdrag)
{
dobj.style.left =xx;
dobj.style.top = yy;
if (xx!=pic.x ||yy!=pic.y)winmove(xx,yy)
return false;
}
}
function winmove(x,y) {
var winX = window.screenLeft, winY = window.screenTop;
window.moveBy(x, y);
}
function getpic(obj){
pic.x = parseInt(obj.style.left+0);
pic.y = parseInt(obj.style.top+0);
}
function GetCursorPos(e){
var fobj = event.srcElement;
var topelement = "BODY"
if (fobj.className=="movable")
{
isdrag = true;
dobj = fobj;
getpic(caption);
tx = parseInt(dobj.style.left+0);
ty = parseInt(dobj.style.top+0);
x = event.clientX;
y = event.clientY;
document.onmousemove=winpos;
return false;
}
}
document.onmousedown=GetCursorPos//selectmouse;
document.onmouseup=new Function("isdrag=false;");
</script>
</head>
<body style="margin: 0;">
<div id="caption" class="movable" style="background-color: #eee; position: relative;left:0px; top: 0; height:20px; width:100%; border: solid 1px #cccccc; z-index:10;" ><span id="ctrl_close" style="color:#999999; padding: 2px; float: right; cursor:pointer; height:12px;" onclick='window.close()'>X</span></div>
</body>
</html>
ps/ наверное не здесь этому топику место? понял, прошу прощения.