جافا سكريبت فئة السحب
الكاتب:Eve Cole
وقت التحديث:2009-06-11 16:31:49
<أتش تي أم أل>
<الرأس>
<لغة البرنامج النصي = "جافا سكريبت">
<!--
فار اسحب = {
سكس : 0,
سي : 0،
على سبيل المثال: 0،
اي: 0،
إل إكس: 0،
لاي : 0,
إزاحةX: 0،
الإزاحةY: 0،
كدوم: لاغية،
قابل للسحب: خطأ،
السحب المرح: لاغية،
درجة الحرارة: وظيفة () {
Drag.drag.call(Drag);
},
ذاكرة التخزين المؤقت: {}،
putCache : وظيفة(مفتاح,v){
this.cache[key] = v;
},
الحصول على ذاكرة التخزين المؤقت: وظيفة (مفتاح) {
إرجاع this.cache[key];
},
السحب البداية : وظيفة (dfun، fn) {
يحاول{
إذا (! this.dragAble) {
this.cdom = events.srcElement?event.srcElement:event.target;
this.cdom.setCapture(true);
this.sx = events.screenX;
this.sy = events.screenY;
this.ex = events.screenX;
this.ey = events.screenY;
this.lx = events.screenX;
this.ly = events.screenY;
this.dragAble = true;
this.dragFun = dfun?dfun:null;
إذا (الجبهة الوطنية) {الجبهة الوطنية ()؛}
this.cdom.attachEvent("onmousemove",Drag.tempDrag);
}
}قبض(ه){
this.dragEnd();
}
},
السحب: وظيفة () {
يحاول{
إذا (هذا.dragAble) {
this.ex = events.screenX;
this.ey = events.screenY;
this.offsetX = this.ex - this.lx;
this.offsetY = this.ey - this.ly;
إذا(this.dragFun){this.dragFun();}
this.lx = this.ex;
this.ly = this.ey;
}
}
قبض (ه) {
this.dragEnd(null);
}
},
السحب: وظيفة (الجبهة الوطنية) {
إذا (هذا.dragAble) {
this.cdom.detachEvent("onmousemove",Drag.tempDrag);
this.cdom.releaseCapture();
this.ex = events.screenX;
this.ey = events.screenY;
this.dragAble = false;
إذا (الجبهة الوطنية) {الجبهة الوطنية ()؛}
}
this.releaseDrag();
},
الافراج عن السحب: وظيفة () {
this.ex = 0;
this.ey = 0;
this.sx = 0;
this.sy = 0;
this.cdom = null;
this.dragAble = false;
this.dragFun = null;
this.cache = {};
}
};
بداية الوظيفة (){
var d = Drag.cdom.cloneNode(true);
var pos = getBodyPos(Drag.cdom);
مع (د.ستايل){
الموقف = "المطلق"؛
left=pos.left;
top=pos.top;
filter='Alpha(Opacity='30')' ;
}
Drag.putCache("alo",d);
document.body.appendChild(d);
}
وظيفة جي () {
var offx = Drag.offsetX;
var offy = Drag.offsetY;
var to = Drag.getCache("alo");
var l = to.offsetLeft;
var t = to.offsetTop;
مع(to.style){
left=l+offx;
top=t+offy;
}
}
نهاية الوظيفة (){
var cdom = Drag.cdom;
var alo = Drag.getCache("alo");
مع (cdom.style)
{
left=alo.offsetLeft;
top=alo.offsetTop;
الموقف = "المطلق"؛
}
إذا (ألو)
document.body.removeChild(alo);
}
وظيفة getBodyPos(obj){
يحاول{
var l = obj.offsetLeft;
var t = obj.offsetTop;
بينما (obj.parentElement!= document.body){
obj = obj.parentElement;
var tl = obj.offsetLeft;
var tt = obj.offsetTop;
ل += ليرة تركية؛
ر += ر؛
}
العودة {يسار: ل، أعلى: ر}؛
}قبض(ه){
تنبيه(e.message);
}
}
//-->
</النص>
</الرأس>
<الجسم>
<div style="border:solid 1 #7FFFD4;width:300;height:150;background:#3399FF;cursor:move;" onmousedown="Drag.dragStart(ing,start)" onmouseup="Drag.dragEnd(end)">
اختبار كائن السحب
</div>
</الجسم>
</HTML>