我有一个确定文本块起始坐标的函数。它用于创建一个不能垂直滚动的页面,只能水平滚动。因此,它会创建文本列,启动/关闭,然后当某些内容不适合时,会将其发送到下一列。在这种情况下,文本块是订单,因此它们必须保持在一起(即,如果订单不适合此列,请将其发送到下一列,不要将其拆分)。
我遇到的问题是确定一个文本块是否垂直适合页面(在它自己的列中,即页面高度>块高度)与默认宽度,或者是否需要更宽以适应数据。 要测试的元素作为对象传入,当我执行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
};