我在一個頁面中使用mootools 1.2,在這裏我將一個js圖形加載到一個本身位於表格單元格中的div中。圖形加載正確,但比單元格的寬度小得多(圖形腳本的目的是生成與div大小相同的圖形)。通過javascript設置div寬度onDomReady
我的問題是:如何根據父容器的大小動態地設置div的大小(而不是設置div的固定像素寬度)。
我想設定的mootools的div尺寸的setStyle上domready中,像這樣的(全部包裹在domready
塊):
var divwidth = $('my_chart').offsetParent.offsetWidth;
var divheight = $('my_chart').offsetParent.offsetHeight;
$('my_chart').setStyle('width', divwidth);
$('my_chart').setStyle('height', divheight);
g = new Dygraph($('my_chart'), data);
當我運行頁面,而不使用setStyle的東西,它工作,但div從js控制檯執行$('my_chart').getStyle('width');
時返回寬度480。然而,從同一控制檯$('my_chart').offsetParent.offsetWidth
返回1100
的問題是,當我嘗試使用上面的代碼來設置DIV的大小,它拋出一個錯誤: Uncaught TypeError: Cannot read property 'offsetWidth' of null
我假設,因爲股利尚未得出?
編輯添加:如果我將my_chart div的寬度設置爲「auto」,則會從圖形腳本中收到錯誤Uncaught TypeError: Cannot read property 'length' of undefined
。
感謝您的任何幫助。
這裏是一個jsfiddle的頁面:http://jsfiddle.net/vYe5J/7/ – julio 2011-06-09 21:00:19