js动画问题

https://img2.mukewang.com/5c9db17800011f9506730419.jpg

我这里把a.style.left = a.offsetLeft + 10 + 'px';
但是div没有移动
然后我
console.log(a.style.left+"--"+a.offsetLeft)
发现a.style.left和a.offsetLeft一直没变

https://img4.mukewang.com/5c9db17b00015b7a01650039.jpg

这是为什么??
是不是我用的flex布局然后style.left不会变???

这样??
https://img1.mukewang.com/5c9db1830001db5b06510142.jpg

还是一样的


芜湖不芜
浏览 421回答 3
3回答

FFIVE

CSS 定位了解一下?看来题主并没有搞清楚 position display 这些属性的作用。position 为 static 的情况下你改 left 是不会有效果的。top right bottom left 并不参与 flex 布局的控制。如果你既希望元素本身参与 flex 布局,又想让元素产生位移动画,那首选应该是 transform 。transform 是在布局后对元素进行视觉层面的改变,不影响布局和定位本身。

慕尼黑5688855

offset是205,加10之后不就是215吗?两个各自都是原来的值,当然不会变

冉冉说

数值运算和字符串要有分隔如下:a.style.left = (a.offsetLeft + 10) + 'px'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript