关于javascript用if语句写一个块移transform产生的问题

it2023-01-07  56

首先写一个简单的块

<button onclick="changeXY()">移动</button> <div id="box1"></div>

然后

#box1{ width: 500px; height: 500px; background-color: blue; }

最后写js if语句

function changeXY() { var aDiv=document.getElementById('box1'); if (aDiv.style.transform=='translate(300px,0px)'){ aDiv.style.transform='translate(-300px,0)'; }else{ aDiv.style.transform='translate(300px,0px)'; } }

虽然这样写理论上是对的,在写完毕之后按button却只能执行'translate(300px,0px)'这一句,在查看F12上面显示 aDiv.style.transform=‘translate(-300px, 0)’;这一句压根没生效。

在各种使用方法和询问的得出了原因:这是它浏览器生成的一个固定写法,在中间会有一个小小的空格

function changeXY() { var aDiv=document.getElementById('box1'); if (aDiv.style.transform=='translate(300px, 0px)'){ aDiv.style.transform='translate(-300px, 0)'; }else{ aDiv.style.transform='translate(300px, 0px)'; } }

在'translate(300px,0px)'在300px逗号, 后面加一个空格就能完全的执行if语句

最新回复(0)