2013-07-15 3 views
2

Почему этот скрипт не работает?Стиль настройки не работает?

<!DOCTYPE html> 
<html> 

    <head> 
     <title>Hello StackOverflow!</title> 
    </head> 

    <body> 
     <div id="testing"> 
      <p>Bladybla</p> 
     </div> 
     <script> 
      var one = window.innerWidth; 
      var two = 5; 
      var three = one/two; 
      var four = '"' + Math.round(three) + "px" + '"'; 
      document.getElementById("testing").style.marginTop = four; 
     </script> 
    </body> 

</html> 

Когда я помещаю предупреждение между var four и document.getElementById это рассчитывает правильное значение. Проблема заключается в .style.marginTop =. Он не печатает расчетное значение. ЗАЧЕМ?

Заранее спасибо, Jaapyse!

ответ

4

При установке .style.marginTop, вам не нужно включать цитаты в вашей ценности.

Если вы настраивали его на закодированное значение, вы можете иметь:

document.getElementById("testing").style.marginTop = "5px"; 

Однако, вы эффективны установить его на что-то вроде:

document.getElementById("testing").style.marginTop = '"5px"'; 

Это то недопустимое значение , поэтому он игнорируется.

Измените код следующим образом:

var one = window.innerWidth; 
var two = 5; 
var three = one/two; 
var four = Math.round(three) + 'px'; 
document.getElementById("testing").style.marginTop = four; 
+0

** + 1 ** для объяснения проблемы с '' '. Вместо того, чтобы просто писать рабочий код без объяснений. –

0

написать свой сценарий как:

<script> 
       var one = window.innerWidth; 
       var two = 5; 
       var three = one/two; 
       var four = Math.round(three); 
       document.getElementById("testing").style.marginTop = four + 'px'; 
      </script> 
Смежные вопросы