html有四个按钮,第一个按钮默认不旋转,点击之后持续顺时针旋转,其他三个点击之后持续顺时针旋转,切换其他按钮后旋转停止
时间: 2024-03-18 15:41:19 浏览: 158
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
好的,这是一个比较有趣的交互效果,可以使用JavaScript实现。以下是一个简单的实现方式:
HTML代码:
```html
<button id="btn1" onclick="rotate(1)">Button 1</button>
<button id="btn2" onclick="rotate(2)">Button 2</button>
<button id="btn3" onclick="rotate(3)">Button 3</button>
<button id="btn4" onclick="rotate(4)">Button 4</button>
```
CSS代码:
```css
button {
width: 100px;
height: 50px;
transform-origin: center center;
transition: transform 0.5s linear;
}
```
JavaScript代码:
```javascript
let activeBtn = null; // 当前激活的按钮
let intervalId = null; // 旋转定时器id
function rotate(btnIndex) {
const btn = document.getElementById(`btn${btnIndex}`);
if (activeBtn !== btn) { // 判断点击的按钮是否与当前激活的按钮相同
if (activeBtn) {
clearInterval(intervalId); // 停止旋转
}
activeBtn = btn;
let deg = 0; // 初始旋转角度为0
intervalId = setInterval(() => {
deg += 1; // 每次旋转1度
btn.style.transform = `rotate(${deg}deg)`; // 旋转按钮
}, 10); // 每隔10毫秒旋转1度
}
}
```
实现效果:点击不同的按钮,按钮会持续顺时针旋转,切换到其他按钮时旋转会停止。其中第一个按钮默认不旋转,其他三个点击之后持续顺时针旋转。
阅读全文