I have this code:
jQuery.fn.getPos=function()
{
var o=this[0];
var left=0,top=0,parentNode=null,offsetParent=null;
var offsetParent=o.offsetParent;
var original=o;
var el=o;
while(el.parentNode!=null){
el=el.parentNode;
if(el.offsetParent!=null){
var scrolling=true;
if(window.opera){
if(el==original.parentNode||el.nodeName=="TR"){
scrolling=false
}
}
if(scrolling){
if(el.scrollTop&&el.scrollTop>0){
top-=el.scrollTop
}
if(el.scrollLeft&&el.scrollLeft>0){
left-=el.scrollLeft
}
}
}
if(el==offsetParent){
left+=o.offsetLeft;
if(el.clientLeft&&el.nodeName!="TABLE"){
left+=el.clientLeft
}
top+=o.offsetTop;
if(el.clientTop&&el.nodeName!="TABLE"){
top+=el.clientTop
}
o=el;
if(o.offsetParent==null){
if(o.offsetLeft){
left+=o.offsetLeft
}
if(o.offsetTop){
top+=o.offsetTop
}
}
offsetParent=o.offsetParent;
}
}
return
{
left:left,top:top
}
};
I can not figure out why I am getting this error in the return:
SyntaxError: missing ; before statement
left:left,top:top
I am getting crazy, maybe I am overlooking something. Any help with this will be appreciated
Thanks to everyone
JavaScript thinks that your return statement ends at the end of its line. That is, it thinks you mean:
return;
{
left: left, top: top
};
Change it so that the { is on the same line:
return {
left: left, top: top
};
At issue are the rules of automatic semicolon insertion.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With