如题。
今天写一个组件,完全由js生成,生成后想将其定位在页面中央。 这就需要获取窗口的宽高和组件的宽高。
该组件的宽高均为auto,根据生成内容的多少自适应。
然后生成完之后, 渲染到页面上之前,想通过css({top:yy,left:xx})给它定位,然后再append到body中。
可结果是我得到的它的宽和高(通过outerWidth()和outerHeight())都是0.
后来发现有两种解决方法:
1. 先将组件hide(),并appendTo(body),然后定位,然后再show()出来:
$component.hide().appendTo($('body'));
locate($component).show(); //locate()方法返回$component以便链式编程
2. 在css中指定组件的宽高,但这种做法比较局限,只能适用一种规格的宽高,不适用于我这种情况,所以我选择方式1.