offset()未定义'错误'

Arp*_*pta 3 javascript jquery jquery-ui

在加载页面时,我想获得面板的顶部.但它显示错误.在Firefox和IE中,它说" offset()未定义 ",而在Chrome中,错误是" Uncaught TypeError:无法读取未定义的属性'top' ".请帮忙.

$(window).resize(function () {
    tabPanelAdjust();
});

function tabPanelAdjust() {
    var theTabPanel = $(".TabPanel");
    var tabPanelTop = parseInt(theTabPanel.offset().top);
    var winHeight = $(document).height();
    tabPanelHeight = winHeight - tabPanelTop;
    theTabPanel.css({ "min-height": tabPanelHeight - 20 });
}

<div class="TabPanel">
</div>
Run Code Online (Sandbox Code Playgroud)

Viv*_*k S 9

代码没有错.在document ready方法中包含您的代码.可能是您的代码在div加载之前被触发.

$(function(){
$(window).resize(function () {
  tabPanelAdjust();
});

function tabPanelAdjust() {
 var theTabPanel = $(".TabPanel");
 var tabPanelTop = parseInt(theTabPanel.offset().top);
 var winHeight = $(document).height();
 tabPanelHeight = winHeight - tabPanelTop;
 theTabPanel.css({ "min-height": tabPanelHeight - 20 });
}
});
Run Code Online (Sandbox Code Playgroud)

这是一个工作小提琴:

http://jsfiddle.net/SX5U4/