按下按钮时颤动倒计时是一种常见的用户界面(UI)交互设计,用于提示用户某个操作正在进行中,通常伴随着视觉和/或听觉反馈。这种设计可以防止用户重复点击按钮,从而避免重复提交请求或执行不必要的操作。
以下是一个简单的HTML和JavaScript示例,展示如何实现按下按钮时的颤动倒计时效果:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Button Flicker Countdown</title>
<style>
.flickering-button {
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
border: 2px solid #007bff;
background-color: #007bff;
color: white;
transition: transform 0.1s ease-in-out;
}
.flickering-button:disabled {
background-color: #cccccc;
cursor: not-allowed;
}
</style>
</head>
<body>
<button id="submitButton" class="flickering-button">Submit</button>
<script>
document.getElementById('submitButton').addEventListener('click', function() {
const button = this;
button.disabled = true;
button.style.transform = 'scale(0.95)';
let countdown = 3;
const interval = setInterval(() => {
button.textContent = `Submitting (${countdown})`;
countdown--;
if (countdown < 0) {
clearInterval(interval);
button.textContent = 'Submit';
button.disabled = false;
button.style.transform = '';
}
}, 1000);
});
</script>
</body>
</html>
transition: transform 0.1s ease-in-out;
。setInterval
的时间间隔设置正确。clearInterval
及时清除定时器,避免内存泄漏。通过以上方法,可以有效地实现按下按钮时的颤动倒计时效果,并提升用户体验。
领取专属 10元无门槛券
手把手带您无忧上云