document.getElementById("myB").style.top = "100px"; [复制]
Posted
技术标签:
【中文标题】document.getElementById("myB").style.top = "100px"; [复制]【英文标题】:document.getElementById("myB").style.top = "100px"; [duplicate] 【发布时间】:2019-10-06 20:23:25 【问题描述】:有没有办法将 style.top 设置为变量而不是 px?
我希望 div 在我按下按钮时将绝对位置更改为随机值而不是常量
<div class="dot" id="dot1" style="top:180px;left:280px"></div>
function myFunction1()
var x1 = Math.floor((Math.random() * 150) + 75);
var y1 = Math.floor((Math.random() * 150) + 75);
console.log(x1);
console.log(y1);
//this works
document.getElementById("dot1").style.top = "100px";
document.getElementById("dot1").style.top = "100px";
//this doesnt
document.getElementById("dot1").style.top = x1;
document.getElementById("dot1").style.top = y1;
【问题讨论】:
检查是否对您有帮助:w3schools.com/js/js_htmldom_css.asp 你应该将属性设置为document.getElementById('dot1').style.setProperty(...
x1
和 y1
是变量,所以你不应该在它们周围加上引号
我也没有让它工作:document.getElementById('dot1').style.setProperty('top',x1)
您可以根据需要使用变量。 CSS 中的长度仍然需要单位,因此变量必须包含单位。
【参考方案1】:
document.documentElement.style.top = x1
。 left 属性也一样。
【讨论】:
以上是关于document.getElementById("myB").style.top = "100px"; [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Chrome 中的 document.getElementById().innerText
打字稿中的 document.getElementById(s).document.getElementsByClassName 错误
为啥不需要 document.getElementById? [复制]
document.getElementById/Name/TagName