מציאת מיקום אלמנט בדפדפן
מצאתי 2 פונקציות טובות למציאת מיקום מדויק של אלמנט על המסך
, אך לצערי צריך לנסות את שתיהן,
כי יש דפים שבם אחת מחזירה תוצאות יותר מדויקות ויש דפים שהשניה...
ומכיוון שאינני מומחה כל כך גדול בג'אווה סקריפט,
אני גם לא יכול לשפר אותן, אבל עדיין, הן טובות,
רק תעשו ניסוי קטן בכל דף לבדוק איזו מהן מתאימה
הפונקציה הראשונה - שולחים לה את האובייקט (לא את השם שלו...) והיא מחזירה אובייקט עם ערך x וערך y
function zxcPos(zxcobj){
var position = new Object;
zxclft=zxcobj.offsetLeft;
zxctop=zxcobj.offsetTop;
while(zxcobj.offsetParent!=null){
zxcpar=zxcobj.offsetParent;
zxclft+=zxcpar.offsetLeft;
zxctop+=zxcpar.offsetTop;
zxcobj=zxcpar;
}
position.x=zxctop;
position.y=zxclft;
return position;
}
הפונקציה שניה בנויה משני פונקציות בעצם, אחת מחזירה את המיקום x ואחת את המיקום y
function findPosX(obj)
{
var curleft = 0;
if(obj.offsetParent)
while(1)
{
curleft += obj.offsetLeft;
if(!obj.offsetParent)
break;
obj = obj.offsetParent;
}
else if(obj.x)
curleft += obj.x;
return curleft;
}
function findPosY(obj)
{
var curtop = 0;
if(obj.offsetParent)
while(1)
{
curtop += obj.offsetTop;
if(!obj.offsetParent)
break;
obj = obj.offsetParent;
}
else if(obj.y)
curtop += obj.y;
return curtop;
}