2015-12-03 52 views
0

我想不通我怎么可以用JavaScript style属性style元素JavaScript的风格与可变

<!DOCTYPE html> 
<html> 
<head> 
<style> 
#element { 
    width: 10px; 
    height: 10px; 
    position: relative; 
} 
</style> 
</head> 

<body> 
    <div id="element"></div> 
</body> 

<script> 
    var w = window.innerWidth; 
    var h = window.innerHeight; 
    var w_center = w/2; 
    var h_center = h/2; 
    var element = document.getElementById("element"); 

    element.style.left = w_center; 
</script> 
</html> 

用JavaScript造型的正确方法是

element.style.left = "100px"; 

值后等号必须引用,但如果我使用双引号变量它不起作用,因为它将被转换为字符串。

所以我试图

<script> 
    var w = window.innerWidth; 
    var h = window.innerHeight; 
    var w_center = String(w/2); 
    var h_center = String(h/2); 
    var element = document.getElementById("element"); 

    element.style.left = w_center; 
</script> 

我试图用“字符串()”功能转换“w_center”字符串,但仍然无法正常工作

有没有我可以任何其他方式使用下面的代码使用变量作为我的值?

element.style.left = w_center; 

是的,我可以做jQuery的方式,比如$( “#元素”)。CSS( “左”,w_center),它的工作原理,但我想使用JavaScript。

问候。

+0

什么是你想在这里做兄弟? – messerbill

+2

element.style.left = String(math.round(w_center))+“px”; –

回答

0

只需将+"px"添加到数字的末尾即可将其转换为字符串。

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
<style> 
 
#element { 
 
    width: 10px; 
 
    height: 10px; 
 
    position: relative; 
 
    background-color:red;/* I added this for visual reasons */ 
 
} 
 
</style> 
 
</head> 
 

 
<body> 
 
    <div id="element"></div> 
 
<script> 
 
    var w = window.innerWidth; 
 
    var h = window.innerHeight; 
 
    var w_center = w/2; 
 
    var h_center = h/2; 
 
    var element = document.getElementById("element"); 
 
    element.style.left = w_center+"px"; 
 
</script> 
 
</body> 
 
</html>

+0

谢谢Ultimater!这是简单的:) –