ClassList 切换在 React 中不起作用。我究竟做错了什么?
ClassList toggling not working in React. What am I doing wrong?
我正在尝试让轮图像在单击时旋转(CSS 变换 + 过渡)。现在,我只能在使用 'img: active' 按住鼠标按钮的同时让它旋转。我一直在寻找答案,通常感觉我应该只使用 onClick 来切换 class 和动画,但我似乎做得不对。我究竟做错了什么?这是我的代码,供参考:
class Wheel extends React.Component
{
constructor(props){
super(props);
this.spin = this.spin.bind(this);
}
spin(e){
e.classList.toggle('rotate');
}
render(){
return (<div><img width="400" height="400" src="https://orig00.deviantart.net/0a38/f/2010/242/f/6/singapore_wheel_of_fortune_by_wheelgenius-d2xmb9v.jpg" onClick={this.spin}/>
</div>);
}
}
ReactDOM.render(
<Wheel/>,
document.getElementsByClassName('container-fluid')[0]
);
CSS:
.rotate {
-webkit-transform: rotate(1095deg);
-webkit-transition: -webkit-transform 3s ease-out;
}
/*
img:active {
-webkit-transform: rotate(1095deg);
-webkit-transition: -webkit-transform 3s ease-out;
}
*/
我已将所有内容放在 https://codepen.io/ejpg/pen/LmOVoR
的 CodePen 上
提前致谢。
应该是
e.target.classList.toggle('rotate');
我正在尝试让轮图像在单击时旋转(CSS 变换 + 过渡)。现在,我只能在使用 'img: active' 按住鼠标按钮的同时让它旋转。我一直在寻找答案,通常感觉我应该只使用 onClick 来切换 class 和动画,但我似乎做得不对。我究竟做错了什么?这是我的代码,供参考:
class Wheel extends React.Component
{
constructor(props){
super(props);
this.spin = this.spin.bind(this);
}
spin(e){
e.classList.toggle('rotate');
}
render(){
return (<div><img width="400" height="400" src="https://orig00.deviantart.net/0a38/f/2010/242/f/6/singapore_wheel_of_fortune_by_wheelgenius-d2xmb9v.jpg" onClick={this.spin}/>
</div>);
}
}
ReactDOM.render(
<Wheel/>,
document.getElementsByClassName('container-fluid')[0]
);
CSS:
.rotate {
-webkit-transform: rotate(1095deg);
-webkit-transition: -webkit-transform 3s ease-out;
}
/*
img:active {
-webkit-transform: rotate(1095deg);
-webkit-transition: -webkit-transform 3s ease-out;
}
*/
我已将所有内容放在 https://codepen.io/ejpg/pen/LmOVoR
的 CodePen 上提前致谢。
应该是
e.target.classList.toggle('rotate');