Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Syntax error in return

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

like image 1000
Franco Avatar asked Apr 23 '26 19:04

Franco


1 Answers

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.

like image 121
Pointy Avatar answered Apr 26 '26 07:04

Pointy



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!