2013-09-13 6 views
1

Я пытаюсь поместить элемент в процентах, но это не сработало для меня, оно работало только тогда, когда я использовал пиксели.Позиционирование элемента с помощью javascript

Вот мой код:

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

Если я назначен x.style.left любое число, затем ничего она работает нормально, но если я ставлю процент после числа, как это показано в коде выше она не работает. Любые идеи о том, как я могу использовать процент для размещения этого элемента?

ответ

9

Эти значения должны быть строками:

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

В противном случае % знак интерпретируется как remainder operator, что приводит к неожиданным результатам или синтаксических ошибок (в зависимости от использования запятой).

1

% является синтаксис CSS, а не Javascript синтаксис и вам нужно обернуть его в кавычки:

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

Вы должны были бы назначить его в виде строки. Вы синтаксис недействителен, потому что 10% что-то означает в JavaScript, поэтому он фактически разбор x.style.left = 10%x.style.top = 10%, поскольку JS игнорирует пробелы.

Как bfavaretto сказал, что вам нужно присвоить значения как строки:

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

и убедитесь, что вы добавляете вашу запятую. :)

+1

Вы правы, я пропустил, что первая часть не является синтаксической ошибкой из-за отсутствия точки с запятой. Тем не менее, последнее остается. – bfavaretto

Смежные вопросы