1

要素をパーセンテージで配置しようとしていますが、うまくいきませんでした。ピクセルを使用した場合にのみ機能しました。

これが私のコードです:

var x=document.getElementById("fir")
x.style.position = "absolute";
x.style.left = 10%
x.style.top = 10%

任意の数値に割り当てたx.style.left後に何も割り当てないと正常に動作しますが、上記のコードに示されているように数値の後にパーセンテージを付けると機能しません。パーセンテージを使用してこの要素を配置する方法についてのアイデアはありますか?

4

3 に答える 3

9

これらの値は文字列であると想定されています。

x.style.left = '10%';
x.style.top = '10%';

それ以外の場合、%符号は剰余演算子として解釈され、予期しない結果または構文エラーが発生します (セミコロンの使用によって異なります)。

于 2013-09-13T21:12:48.327 に答える
2

文字列として割り当てる必要があります。JavaScriptで何かを意味するため、構文が無効です。JSは空白を無視する10%ため、実際に解析していx.style.left = 10%x.style.top = 10%ます。

bfavaretto が言ったように、値を文字列として割り当てる必要があります。

x.style.left = '10%';
x.style.top = '10%';

セミコロンを必ず追加してください。:)

于 2013-09-13T21:15:09.413 に答える
1

これ%は JavaScript 構文ではなく CSS 構文であり、引用符で囲む必要があります。

var x=document.getElementById("fir")
x.style.position = "absolute";
x.style.left = "10%";
x.style.top = "10%";
于 2013-09-13T21:14:01.470 に答える