elem.style.left = x + " px";
みたいな記述をしてしまって、Firefoxで動かないので悩んでしまった。(IEだと動く)
正しくは、
elem.style.left = x + "px";
とスペースなしで書かないといけない。
「JavaScript&DHTMLクックブック」には「styleオブジェクトのpositionプロパティは変更できない」と書いてあるけど、実際には変更できるみたい。