Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 未捕获引用错误:尝试从函数返回对象时未定义x_Jquery - Fatal编程技术网

Jquery 未捕获引用错误:尝试从函数返回对象时未定义x

Jquery 未捕获引用错误:尝试从函数返回对象时未定义x,jquery,Jquery,我试图创建一个函数来获取元素的位置,但是当我试图获取底部偏移量时,它返回未定义的,我缺少什么 这是我的尝试: var myDiv = jQuery('.div'); function getOffset(el) { var off = jQuery(el).offset(); return { left: off.left, right: off.left + el.outerWidth(), top: off.top,

我试图创建一个函数来获取元素的位置,但是当我试图获取底部偏移量时,它返回未定义的,我缺少什么

这是我的尝试:

var myDiv = jQuery('.div');

function getOffset(el) {
    var off = jQuery(el).offset();
    return {
        left: off.left,
        right: off.left + el.outerWidth(),
        top: off.top,
        bottom: off.top + el.outerHeight(),
        hCenter: (bottom + top) /2,
        wCenter: (right + left) /2
    };
}

var myDivPosition = getOffset(myDiv);

console.log(
        "top = " + myDivPosition.top +
        "bottom = " + myDivPosition.bottom +
        "hCenter = " + myDivPosition.hCenter +
        "left = " + myDivPosition.left +
        "right = " + myDivPosition.right +
        "wCenter = " + myDivPosition.wCenter
        );
我进入控制台:

未捕获引用错误:未定义底部


您正在尝试使用未声明的
底部
右侧
变量。请注意,使用非限定的
底部
右侧
标识不会以任何方式从正在构建的对象中检索它们(事实上,)。因此,只需在前面执行这些操作(您还需要在打开
关闭
时参考
顶部
左侧
):


hcenter和wcenter中使用的底部和右侧未定义谢谢,谢谢您的帮助!而且,听起来我好像也没有申报
top
left
。@Homer:我也没想到你在用
top
left
做这件事。您不必声明它们,只需在代码中使用
off.top
off.left
。我已经更新了答案。
function getOffset(el) {
    var off = jQuery(el).offset();
    var bottom = off.top + el.outerHeight();  // ***
    var right = off.left + el.outerWidth();   // ***
    return {
        left: off.left,
        right: right,                         // ***
        top: off.top,
        bottom: bottom,                       // ***
        hCenter: (bottom - off.top) /2,       // ***
        wCenter: (right - off.left) /2        // ***
    };
}