用jquery实现顺时针旋转,用按钮实现暂停和继续功能
时间: 2024-01-22 18:17:52 浏览: 22
可以使用jQuery的animate方法来实现旋转效果,并结合按钮的点击事件来实现暂停和继续功能。
HTML代码:
```html
<div class="box"></div>
<button id="pause">暂停</button>
<button id="resume">继续</button>
```
CSS代码:
```css
.box {
width: 100px;
height: 100px;
border: 1px solid #000;
margin: 50px auto;
}
```
jQuery代码:
```javascript
$(function() {
var $box = $('.box');
var angle = 0; // 初始角度为0
var timer = null; // 计时器
// 定义旋转函数
function rotate() {
angle += 2; // 每次旋转2度
$box.css('transform', 'rotate(' + angle + 'deg)');
timer = requestAnimationFrame(rotate); // 使用requestAnimationFrame方法循环调用rotate函数
}
// 点击暂停按钮
$('#pause').on('click', function() {
cancelAnimationFrame(timer); // 取消计时器
});
// 点击继续按钮
$('#resume').on('click', function() {
timer = requestAnimationFrame(rotate); // 重新启动计时器
});
// 启动旋转
rotate();
});
```
在上面的代码中,我们定义了一个rotate函数,用于实现元素的旋转效果。该函数中使用了requestAnimationFrame方法来循环调用自身,从而实现连续的旋转效果。
在点击暂停按钮时,我们调用了cancelAnimationFrame方法来取消计时器,从而停止元素的旋转。
在点击继续按钮时,我们重新启动计时器,从而恢复元素的旋转。