jQuery .outerHeight为父级返回正确,为子级返回0

时间:2013-09-03 19:47:49

标签: jquery css3 height calculated-columns

我有一个确定文本块起始坐标的函数。它用于创建一个不能垂直滚动的页面,只能水平滚动。因此,它会创建文本列,启动/关闭,然后当某些内容不适合时,会将其发送到下一列。在这种情况下,文本块是订单,因此它们必须保持在一起(即,如果订单不适合此列,请将其发送到下一列,不要将其拆分)。

我遇到的问题是确定一个文本块是否垂直适合页面(在它自己的列中,即页面高度>块高度)与默认宽度,或者是否需要更宽以适应数据。 要测试的元素作为对象传入,当我执行thisElement.outerHeight(true)时,它返回正确的结果。但是,当我执行thisElement.find('。orderHeader')。outerHeight(true)我得到0。

为什么会这样?

我已经包含了提供上下文的功能。

非常感谢。

    function determineStartCoordinates(lastElement,thisElement) {
    var thisElementHeight= thisElement.outerHeight(true);
    var lastElementPosition= lastElement.position();
    var lastElementTop= lastElementPosition.top;
    var lastElementLeft= lastElementPosition.left;
    var lastElementHeight= lastElement.outerHeight(true);
    var top= lastElementTop + lastElementHeight ;
    var viewerHeight= parseInt( $('#kds').css("height"));
    var availableHeight= viewerHeight - top;
    var heightClears= availableHeight > thisElementHeight; 
    if (heightClears) {
        var coordinates= { "top" : top , "left" : lastElementLeft};
    }
    else {
        var lastElementWidth= lastElement.outerWidth(true);
        if (viewerHeight > thisElementHeight) {
            var coordinates= { "top" : 0 , "left" : lastElementWidth + lastElementLeft };
        }
        else {
     //#####################################################
            //THIS IS WHERE
            //THE ISSUE IS

            var header= thisElement.find('.orderHeader');
            var headerHeight= header.outerHeight();
                    // THIS FUNCTION IS INCOMPLETE UNTIL THIS PART OF IT IS FINISHED
        }

    }
    var left= lastElementLeft;
    return coordinates
};

0 个答案:

没有答案