2013-07-15 47 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>