2008-03-29

在 td 中 createElement() / appendChild()

常常在需要做「新增」「刪除」的時候,我們會這樣做:

<td valign="top" id="category_">
<?=inputCategories($r)?>
</td>

然後在 JavaScript 裡寫:

function appenddiv(id) {
var x = document.getElementById(id);
if(x == undefined) return false;
for(var i = 0; i < 999; i++)
if(document.getElementById(id+i) == undefined) break;
var newDiv = document.createElement('div');
newDiv.id = id+i;
newDiv.innerHTML = document.getElementById(id+'prepare').innerHTML;
x.appendChild(newDiv);
}

在 IE 裡表現很正常,按新增後表格會變大,自動塞進新增的那個 div,但在 FireFox 下卻不行。有人說加上 style.display='none'; 和 style.display='block'; 就好了,但我試的結果不行。怎麼辦?手動觸發 window.resize() 事件即可:

x.style.display = 'none'; // maybe effective for firefox
x.style.display = 'block';
window.innerHeight--;
window.innerHeight++;

有點醜,但可行哦!

2008-03-28

YouOS


還記得前兩年推出的 YouOS 嗎?
剛剛上去用,一年多前留下的記錄竟然還在耶! 真是太開心了!
除了 GMail 之外,那應該也要算是 AJAX 的典範之一吧 (可惜不紅,唉呀)。

"Iu pro Programistoj" komencigas

AJAX pro Programistoj devas esti la unua artokolo. XD

给程序员用的 AJAX 应该是头一个主题。