style.left,style.top プロパティの値をパース中にエラー

prototype.js(ver1.5)を使って、
指定したエレメントの下に
エレメントを移動するjavascriptを書いていた

funciton moveElement(id,moveId) {
var targetPosition = Position.page($(id));
$(moveId).style.top = targetPosition[1];
}

ie6では、意図したように動作するが、
firefoxでは動かない。

firefoxのエラーコンソールには、
[top プロパティの値をパース中にエラーが発生しました]
と表示

数値に単位をつけて指定してなかったのが原因みたい

$(moveId).style.top = targetPosition[1] + "px";


firefoxのエラー
[top プロパティの値をパース中にエラーが発生しました]
はなおった。

しかし、
指定したエレメントの位置を取得する処理が
スクロールするとずれる。

それで
prototype.jsのバージョンを1.6にあげて

// ウィンドウのスクロール量取得
var wScroll = document.viewport.getScrollOffsets();;
wTop = targetPosition[1] + wScroll.top;
$(moveId).style.top = wTop + "px";

にした。

"style.left,style.top プロパティの値をパース中にエラー" へのコメントを書く

お名前
メールアドレス
ホームページアドレス
コメント