📄 drag.js
字号:
var theobject = null; //This gets a value as soon as a resize start
function resizeObject() {
this.el = null; //pointer to the object
this.dir = ""; //type of current resize (n, s, e, w, ne, nw, se, sw)
this.grabx = null; //Some useful values
this.graby = null;
this.width = null;
this.height = null;
this.left = null;
this.top = null;
}
//Find out what kind of resize! Return a string inlcluding the directions
function getDirection(el) {
var xPos, yPos, offset, dir;
dir = "";
xPos = window.event.offsetX;
yPos = window.event.offsetY;
offset = 8; //The distance from the edge in pixels
if (yPos<offset) dir += "n";
else if (yPos > el.offsetHeight-offset) dir += "s";
if (xPos<offset) dir += "w";
else if (xPos > el.offsetWidth-offset) dir += "e";
return dir;
}
function doDown() {
var el = getReal(event.srcElement, "className", "resizeMe");
if (el == null) {
theobject = null;
return;
}
dir = getDirection(el);
if (dir == "") return;
theobject = new resizeObject();
theobject.el = el;
theobject.dir = dir;
theobject.grabx = window.event.clientX;
theobject.graby = window.event.clientY;
theobject.width = el.offsetWidth;
theobject.height = el.offsetHeight;
theobject.left = el.offsetLeft;
theobject.top = el.offsetTop;
window.event.returnValue = false;
window.event.cancelBubble = true;
}
function doUp() {
if (theobject != null) {
theobject = null;
}
}
function doMove() {
var el, xPos, yPos, str, xMin, yMin;
xMin = 8; //The smallest width possible
yMin = 8; // height
el = getReal(event.srcElement, "className", "resizeMe");
if (el.className == "resizeMe") {
str = getDirection(el);
//Fix the cursor
if (str == "") str = "default";
else str += "-resize";
el.style.cursor = str;
}
//Dragging starts here
if(theobject != null) {
if (dir.indexOf("e") != -1)
theobject.el.style.width = Math.max(xMin, theobject.width + window.event.clientX - theobject.grabx);
if(eSs)
theobject.el.style.height = theobject.el.style.width.replace("px","")/eS;
if (dir.indexOf("s") != -1)
theobject.el.style.height = Math.max(yMin, theobject.height + window.event.clientY - theobject.graby);
if(eSs)
theobject.el.style.width =theobject.el.style.height.replace("px","")*eS
if (dir.indexOf("w") != -1) {
theobject.el.style.left = Math.min(theobject.left + window.event.clientX - theobject.grabx, theobject.left + theobject.width - xMin);
theobject.el.style.width = Math.max(xMin, theobject.width - window.event.clientX + theobject.grabx);
}
if (dir.indexOf("n") != -1) {
/*theobject.el.style.top = Math.min(theobject.top + window.event.clientY - theobject.graby, theobject.top + theobject.height - yMin);
theobject.el.style.height = Math.max(yMin, theobject.height - window.event.clientY + theobject.graby);*/
}
window.event.returnValue = false;
window.event.cancelBubble = true;
d=0
}
}
function getReal(el, type, value) {
temp = el;
while ((temp != null) && (temp.tagName != "BODY")) {
if (eval("temp." + type) == value) {
el = temp;
return el;
}
temp = temp.parentElement;
}
return el;
}
document.onmousedown = doDown;
document.onmouseup = doUp;
document.onmousemove = doMove;
var d=0
function find(qq){
d=qq
x=document.body.scrollLeft+event.clientX-d.style.pixelLeft
y=document.body.scrollTop+event.clientY-d.style.pixelTop
}
function dragit(){
if(d==0)
return false
else{
if(d.style.pixelLeft>1){d.style.pixelLeft=document.body.scrollLeft+event.clientX-x}else{d.style.pixelLeft=2}
if(d.style.pixelTop>1){d.style.pixelTop=document.body.scrollTop+event.clientY-y}else{d.style.pixelTop=2}
}
}
var eS
var eSs
var IntX
var IntY
var DiyW
var DiyH
function SetS(intX,intY,oType)
{
IntX=intX
IntY=intY
document.all.outerRasiedDiv.style.left=10 ;
document.all.outerRasiedDiv.style.top=10;
document.all.outerRasiedDiv.style.width=intX
document.all.outerRasiedDiv.style.height=intY
eS=intX/intY
if(oType)
{
eSs=true;
}
}
function ChangColor(oColor)
{
document.all.outerRasiedDiv.style.background=oColor;
}
var oInterval = "";
function fnStartInterval(){
oInterval = window.setInterval("fnRecycle()",1000);
}
var blChang=true;
function fnRecycle(){
if(blChang)
{
document.all.outerRasiedDiv.style.borderStyle="dashed";
blChang=false
}
else
{
document.all.outerRasiedDiv.style.borderStyle="dotted";
blChang=true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -